您的位置:华清远见教育科技集团 >> 新闻动态 >> Android资料 >> Android开发之MediaPlayer音频播放实例  
 
Android开发之MediaPlayer音频播放实例
分享到:

本示例“MediaPlayerAudio.java”主要功能是播放音乐文件,因读取音乐文件的来源不同,现设置一个文本框来显示其来源,如表1所示。

表1 MediaPlayerAudio.java文本框显示

文件来源 文本框显示
从源文件中播放 LOCAL_AUDIO-播放音乐中
从文件系统中播放 RESOURCES_AUDIO-播放音乐中
从网络中播放 STREAM_AUDIO-播放音乐中

MediaPlayerAudio.java代码如代码清单1所示。

代码清单1 MediaPlayerAudio.java

package cn.com.farsight.media;

    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MediaPlayerAudio extends Activity {
        private static final String TAG = "MediaPlayerDemo";
        private MediaPlayer mMediaPlayer;
        private static final String MEDIA = "media";
        private static final int LOCAL_AUDIO = 1;
        private static final int STREAM_AUDIO = 2;
        private static final int RESOURCES_AUDIO = 3;
        private static final int LOCAL_VIDEO = 4;
        private static final int STREAM_VIDEO = 5;
        private static final int RESOURCES_VIDEO = 6;
        private String path;
        private TextView mTextView;
        //MediaPlayerAudio
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mediaplayer02);
            mTextView = (TextView) findViewById(R.id.TextView01);
            Bundle extras = getIntent().getExtras();
            playAudio(extras.getInt(MEDIA));
        }
        //播放音乐
        private void playAudio(Integer media) {
            try {
                switch (media) {
                    case LOCAL_AUDIO:
                    //设定音频文件路径
                    path = "/sdcard/song01.mp3";//测试用的音频文件
                    //path = "";
                    if (path == "") {
                        //警告User尚未建立音频文件
                        Toast.makeText(MediaPlayerAudio.this,"尚未建立音频文件",Toast.LENGTH_LONG).show();
                    }
                    mMediaPlayer = new MediaPlayer();
                    mMediaPlayer.setDataSource(path);
                    mMediaPlayer.prepare();
                    mMediaPlayer.start();
                    mTextView.setText("LOCAL_AUDIO-播放音乐中...");
                    break;
                    case STREAM_AUDIO:
                    //设定音频文件路径的URL
                    path = " //116.28.63.250/7705.mp3";
                    //path = "";
                    if (path == "") {
                        //警告User尚未建立音频文件的URL.
                        Toast.makeText(MediaPlayerAudio.this,"Please edit MediaPlayerDemo_Video Activity and set the path variable to your media file URL.",Toast.LENGTH_LONG).show();
                    }
                    mMediaPlayer = new MediaPlayer();
                    mMediaPlayer.setDataSource(path);
                    mMediaPlayer.prepare();
                    mMediaPlayer.start();
                    mTextView.setText("STREAM_AUDIO-播放音乐中...");
                    break;
                    case RESOURCES_AUDIO:
                    //本地音频文件要放在/res/raw目录内且提供resid给MediaPlayer.create()
                    mMediaPlayer = MediaPlayer.create(this, R.raw.song21);
                    mMediaPlayer.start();
                    mTextView.setText("RESOURCES_AUDIO-播放音乐中…");
                    break;
                }
            } catch (Exception e) {
                Log.e(TAG, "error: " + e.getMessage(), e);
            }
        }
        //关闭MediaPlayerAudio程序且释放MediaPlayer
        @Override
        protected void onDestroy() {
            super.onDestroy();
            if (mMediaPlayer != null) {
                mMediaPlayer.release();
                mMediaPlayer = null;
            }
        }
    }

 更多相关文章

·Android开发之MediaPlayer音频视频播放
·Android基于MediaPlayer的视频播放
·解读Android MediaPlayer 详细使用方法
·Android系统提供内置的媒体格式
·浅析Android多媒体元数据