美文网首页
播放音频

播放音频

作者: TTTqiu | 来源:发表于2016-04-27 16:17 被阅读197次
    • 在 Android 中播放音频文件一般都是使用 MediaPlayer 类来实现的。

    MediaPlayer 工作流程


    1. 创建 MediaPlayer 对象。
    2. 创建 File 对象。
    3. 调用 setDataSource( file.getPath() ) 设置音频文件路径。
    4. 调用 prepare() 方法使 MediaPlayer 进入准备状态。
    5. 控制播放。
    6. 最后要 stop()、release() 释放资源。
    public class MainActivity extends Activity implements OnClickListener {
        private Button play;
        private Button pause;
        private Button stop;
        private MediaPlayer mediaPlayer = new MediaPlayer();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            play = (Button) findViewById(R.id.play);
            pause = (Button) findViewById(R.id.pause);
            stop = (Button) findViewById(R.id.stop);
            play.setOnClickListener(this);
            pause.setOnClickListener(this);
            stop.setOnClickListener(this);
            initMediaPlayer(); // 初始化MediaPlayer
        }
    
        private void initMediaPlayer() {
            try {
                File file = new File(Environment.getExternalStorageDirectory(), "music.mp3");
                mediaPlayer.setDataSource(file.getPath()); // 指定音频文件的路径
                mediaPlayer.prepare(); // 让MediaPlayer进入到准备状态
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.play:
                    if (!mediaPlayer.isPlaying()) {
                        mediaPlayer.start(); // 开始播放
                    }
                    break;
                case R.id.pause:
                    if (mediaPlayer.isPlaying()) {
                        mediaPlayer.pause(); // 暂停播放
                    }
                    break;
                case R.id.stop:
                    if (mediaPlayer.isPlaying()) {
                        mediaPlayer.reset(); // 停止播放
                        initMediaPlayer();
                    }
                    break;
                default:
                    break;
            }
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            if (mediaPlayer != null) {
                mediaPlayer.stop();
                mediaPlayer.release();
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:播放音频

          本文链接:https://www.haomeiwen.com/subject/gbpcrttx.html