为Android应用程序添加多媒体

本例中,我们让Android应用程序播放一个在线MP3音乐文件。

Android媒体播放器特性包含于android.media包的MediaPlayer类中。

我们既可以从显存的应用程序资源中创建MediaPlayer对象,也可以使用统一资源标识符(URI)指定某个特定的目标文件。在本例中,我们使用android.net包中的Uri类访问一个MP3文件。

首先,我们创建一个HelloMedia工程,以下的代码编写只需在HelloMedia.java中Activity中即可。

1、import包

import android.media.MediaPlayer;
import android.net.Uri;

如果你使用eclipse ADT,可以不用专门去添加,直接写下面用到的关键字,会提示你添加的,你只需要点下鼠标就OK了。

2、为MediaPlayer类声明一个成员变量

private static final String DEBUG_TAG = "zcl";

private MediaPlayer mp;

3、定义一个播放MP3的函数

public void playMusicFromWeb()
    {
        try
        {
            Uri file = Uri
                    .parse("http://221.224.3.72/sourcefile/0/0/134/134669.mp3");
            mp = MediaPlayer.create(this, file);
            mp.start();
        } catch (Exception e)
        {
            Log.e(DEBUG_TAG, "Player failed", e);
        }
    }

我们需要在onCreate()函数中调用这一函数。

4、最后,我们需要在应用程序运行结束后“干净”地退出。我们需要重写onStop()函数。

protected void onStop()
    {
        if (mp != null)
        {
            mp.stop();
            mp.release();
        }
        super.onStop();
    }

本例的完整代码如下:

package com.cxybase.myControl;   import android.app.Activity;   import android.media.MediaPlayer;   import android.net.Uri;   import android.os.Bundle;   import android.util.Log;   public class myControl extends Activity   {       private static final String DEBUG_TAG = "zcl";       private MediaPlayer mp;       /** Called when the activity is first created. */       @Override       public void onCreate(Bundle savedInstanceState)       {           super.onCreate(savedInstanceState);           setContentView(R.layout.main);           playMusicFromWeb();       }       public void playMusicFromWeb()       {           try           {               Uri file = Uri                       .parse("http://221.224.3.72/sourcefile/0/0/134/134669.mp3");               mp = MediaPlayer.create(this, file);               mp.start();           } catch (Exception e)           {               Log.e(DEBUG_TAG, "Player failed", e);           }       }       protected void onStop()       {           if (mp != null)           {               mp.stop();               mp.release();           }           super.onStop();       }   }  

运行后,你就可以听到“忐忑”啦。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzffj.html