十三.Android簡單的音頻播放器和視頻播放器

1.概述

  • 現在的智能手機越來越代替傳統音樂播放器的作用了。這次我們就來看看簡單的音頻播放器和視頻播放器如何編寫。

2.音頻播放器

2.1準備工作

  • MediaPlayer:音頻的基本操作類。
方法 作用
start 開始
pause 暫停
reset 停止
prepare 準備就緒
isPlaying 是否正在播放
release 釋放這個播放器
setDataSource 設置音頻文件路徑
  • File:文件讀取類,讀取需要播放的文件。
  • 獲取SD路徑方法 Environment.getExternalStorageDirectory()

2.2流程圖

2.3代碼編寫

首先要在sd根目錄下放置一個music.mp3文件。

  • 初始化MediaPlayer
File file =new File(Environment.getExternalStorageDirectory(),"music.mp3");//將文件存放為file對象
        try {
            mediaPlayer.setDataSource(file.getPath());//設置音頻文件路徑
            mediaPlayer.prepare();//準備
        } catch (IOException e) {
            e.printStackTrace();
        }
  • 按鍵監聽
switch (view.getId()) {
            case R.id.btn_start:
                if(!mediaPlayer.isPlaying()){
                    mediaPlayer.start();
                }
                break;
            case R.id.btn_pause:
                if(mediaPlayer.isPlaying()){
                    mediaPlayer.pause();
                }
                break;
            case R.id.btn_stop:
                if(mediaPlayer.isPlaying()){
                    mediaPlayer.reset();
                    initMediaPlayer();
                }
                break;
        }
  • 退出銷毀
@Override
    public void onDestroy(){
        super.onDestroy();
        if(mediaPlayer!=null){
            mediaPlayer.stop();
            mediaPlayer.release();
        }
    }

預覽效果如下:

預覽聲音。Σ( ° °|||)︴。這個沒辦法預覽啦。

3視頻播放器

3.1 準備工作

  • 與音頻播放器類似,只不過換成了VideoView類。
  • VideoView類
方法 作用
start 開始
pause 暫停
resume 視頻重新從頭播放
isPlaying 是否在播放
setVideoPath 設置播放文件的地址
suspend 銷毀
  • File:文件讀取類,讀取需要播放的文件。
  • 獲取SD路徑方法 Environment.getExternalStorageDirectory()

3.2流程圖

3.3代碼

首先你的根目錄下需要放一個叫video.mp4文件。

  • 獲取文件
 File file =new File(Environment.getExternalStorageDirectory(),"video.mp4");//將文件存放為file對象
videovFilm.setVideoPath(file.getPath());//設置音頻文件路徑
  • 多種操作
 switch (view.getId()) {
            case R.id.btn_play:
                if(!videovFilm.isPlaying()){
                    videovFilm.start();
                }
                break;
            case R.id.btn_pause:
                if(videovFilm.isPlaying()){
                    videovFilm.pause();
                }
                break;
            case R.id.btn_resume:
                if(videovFilm.isPlaying()){
                    videovFilm.resume();
                }
                break;
        }
  • 退出銷毀
@Override
    public void onDestroy(){
        super.onDestroy();
        if(videovFilm!=null) {
            videovFilm.suspend();
        }
    }

預覽效果如下:


4.日常福利

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容