Android中用MediaPlay播放音訊和影片
在播放音訊中SoundPool是個很好用的類,但是SoundPool只能播放音訊,且通常只用來播放較短的音訊,這就需要另外的類來實現影片和長音訊的播放,那就是MediaPlay
實現MediaPlay的基本步驟是
-
建立MediaPlay物件
-
呼叫setDataSource物件這是音訊檔案路徑
-
呼叫prepare載入音訊
-
呼叫start開始播放
-
呼叫pause暫停
-
呼叫stop停止播放
而MediaPlay也有其他方法
-
getCurrentPosition,獲得當前播放位置
-
getDuration,獲得播放時長
-
isPlay,判斷是否處於播放狀態
-
release,釋放資源
-
reset,回到最初的狀態
-
seekTo,設定播放位置
-
setVolume,設定音量
private MediaPlayer mediaPlayer=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mediaPlayer=new MediaPlayer(); if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1); }else{ initMediaPlayer(); } Button btPlayMp3= (Button) findViewById(R.id.btPlayMp3); btPlayMp3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); } } }); Button btPauseMp3= (Button) findViewById(R.id.btPauseMp3); btPauseMp3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mediaPlayer.isPlaying()){ mediaPlayer.pause(); } } }); Button btStopMp3= (Button) findViewById(R.id.btStopMp3); btStopMp3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(mediaPlayer.isPlaying()){ mediaPlayer.stop(); try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } } } }); } private void initMediaPlayer(){ try { File file=new File(Environment.getExternalStorageDirectory()+"/music","honor.mp3"); mediaPlayer.setDataSource(file.getPath()); mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if(requestCode==1){ if(grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED){ initMediaPlayer(); }else{ Toast.makeText(this,"未獲得SD卡訪問許可權",Toast.LENGTH_LONG).show(); finish(); } } } @Override protected void onDestroy() { if(mediaPlayer!=null){ mediaPlayer.stop(); mediaPlayer.release(); mediaPlayer=null; } super.onDestroy(); }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2680621/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android中用SoundPool播放音訊Android音訊
- android mediaplay videoview mediacontrol 網路視訊AndroidIDEView
- Android 音視訊開發 - 使用AudioTrack播放音訊Android音訊
- 使用soundPool播放音訊音訊
- 微信小程式播放音訊列表微信小程式音訊
- js中用oop思想封裝輪播JSOOP封裝
- Android利用廣播攔截簡訊Android
- 短影片直播系統,Android卡片式輪播Android
- Android開機廣播和關機廣播Android
- Android實現線上播放音樂Android
- 七、FFmpeg 4.0.2 + SDL2 播放音訊音訊
- 電腦播放音訊聽不到聲音音訊
- python實現播放音訊和錄音功能示例程式碼Python音訊
- Android 和 iOS 圖片輪播AndroidiOS
- 如何實現 Android 短影片跨頁面的流暢續播?Android
- iOS 9音訊應用播放音訊之控制播放速度iOS音訊
- 解放音影片應用的未來!Introducing HoloWAN
- 揭秘盒馬鮮生 Android 短影片秒播最佳化方案Android
- Android視訊直播、點播播放器哪家強?Android播放器
- iOS 9音訊應用播放音訊之iOS 9音訊播放進度iOS音訊
- Laravel-admin toastr 訊息提醒、播放音訊、點選跳轉LaravelAST音訊
- 如何搭建小型影片點播網站網站
- Android開機和關機廣播監聽Android
- iOS 9音訊應用播放音訊之ios9音訊基本功能iOS音訊
- 影片號直播(微信影片號直播PC端開播條件)
- 電腦播放影片沒有聲音是什麼原因 電腦播放音訊有個紅叉的解決方法音訊
- 單播、多播(組播)和廣播的區別
- iOS 9音訊應用播放音訊之第一個ios9音訊例項iOS音訊
- 影片豪橫時代,應用如何快速構建影片點播能力?
- iOS 9音訊應用播放音訊之音量設定與聲道設定iOS音訊
- iOS 9音訊應用播放音訊之第一個ios9音訊例項2iOS音訊
- 正向傳播和反向傳播反向傳播
- Android BroadcastReceiver(廣播)AndroidAST
- Android - BroadcastReceiver 廣播AndroidAST
- Android廣播動作Android
- Android複習–廣播Android
- android: 廣播機制Android
- android: 使用本地廣播Android