为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();
    }

本例的完整代码如下:

  1. package com.cxybase.myControl;  
  2. import android.app.Activity;  
  3. import android.media.MediaPlayer;  
  4. import android.net.Uri;  
  5. import android.os.Bundle;  
  6. import android.util.Log;  
  7. public class myControl extends Activity  
  8. {  
  9.     private static final String DEBUG_TAG = "zcl";  
  10.     private MediaPlayer mp;  
  11.     /** Called when the activity is first created. */  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState)  
  14.     {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.         playMusicFromWeb();  
  18.     }  
  19.     public void playMusicFromWeb()  
  20.     {  
  21.         try  
  22.         {  
  23.             Uri file = Uri  
  24.                     .parse("http://221.224.3.72/sourcefile/0/0/134/134669.mp3");  
  25.             mp = MediaPlayer.create(this, file);  
  26.             mp.start();  
  27.         } catch (Exception e)  
  28.         {  
  29.             Log.e(DEBUG_TAG, "Player failed", e);  
  30.         }  
  31.     }  
  32.     protected void onStop()  
  33.     {  
  34.         if (mp != null)  
  35.         {  
  36.             mp.stop();  
  37.             mp.release();  
  38.         }  
  39.         super.onStop();  
  40.     }  
  41. }  

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

相关内容