为Android应用程序添加多媒体
为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();
- }
- }
运行后,你就可以听到“忐忑”啦。
评论暂时关闭