本例中,我们让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(); } }运行后,你就可以听到“忐忑”啦。