Android中用SoundPool播放音訊
在手機上播聽歌和看影片毫無疑問是最常見的休閒方式,Android中也有一套完整的API實現播放音訊和影片
使用SoundPool播放音效
SoundPool類可用於管理和播放應用中的音訊資源,這些音訊資源可以放在儲存檔案中也可以包含在程式中,一般來說,SoundPool用來播放比較短的音效,比如遊戲中的各種音效
首先建立一個SoundPool物件
private SoundPool sp;
然後
-
建立Builder物件,用 SoundPool.Builder builder
-
設定最大音訊數量,setMaxStreams()
-
預設音訊型別,setLegacyStreamType()
-
設定音訊型別,setAudioAttributes()
if (Build.VERSION.SDK_INT >= 21) { SoundPool.Builder builder = new SoundPool.Builder(); builder.setMaxStreams(2); AudioAttributes.Builder attrBuilder = new AudioAttributes.Builder(); attrBuilder.setLegacyStreamType(AudioManager.STREAM_MUSIC); builder.setAudioAttributes(attrBuilder.build()); sp = builder.build(); } else { sp = new SoundPool(2, AudioManager.STREAM_SYSTEM, 0); }
因為在Android中5.0也是API21以後SoundPool已經過時了,所以要判斷
然後用load載入音訊檔案,play播放
int soundId1=sp.load(this,R.raw.winlog,1); int soundId2=sp.load(this,R.raw.lesson1,2); Button button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sp.play(soundId1,1,1,1,0,1); } }); Button button2=(Button)findViewById(R.id.button2); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sp.play(soundId2,2,1,1,0,1); } });
SoundPool也有其他的方法,例如
-
pause(),暫停播放
-
release(),釋放SoundPool中載入的音訊資源
-
resume(),繼續播放暫停的影片
-
setLoop(),設定重複播放次數
-
setVlume(),設定音量
-
stop(),停止播放
-
unload(),解除安裝音訊資源
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2680613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android中用MediaPlay播放音訊和影片Android音訊
- android 使用 SoundPool 語音播報Android
- android 音訊播放 SoundPoolAndroid音訊
- Android soundpool release卡住Android
- Android 音視訊開發 - 使用AudioTrack播放音訊Android音訊
- Android多媒體之SoundPool+pcm流的音訊操作Android音訊
- 使用QMediaPlayer播放音訊音訊
- js中用oop思想封裝輪播JSOOP封裝
- 七、FFmpeg 4.0.2 + SDL2 播放音訊音訊
- Android BroadcastReceiver(廣播)AndroidAST
- Android - BroadcastReceiver 廣播AndroidAST
- Laravel-admin toastr 訊息提醒、播放音訊、點選跳轉LaravelAST音訊
- Android中的廣播使用Android
- 揭祕盒馬鮮生 Android 短視訊秒播優化方案Android優化
- 廣播訊息
- matlab-播放音樂Matlab
- Java中用Aeron實現UDP訊息傳遞JavaUDP
- python實現播放音訊和錄音功能示例程式碼Python音訊
- Android 和 iOS 圖片輪播AndroidiOS
- android藍芽BLE(三) —— 廣播Android藍芽
- Android輪播圖從0到1Android
- Android廣播之靜態註冊Android
- 使用微信API實現H5頁面播放音訊檔案APIH5音訊
- Go中用緩衝通道作為訊號量限制goroutineGo
- Android-Broadcast Receiver(廣播接收器)AndroidAST
- Android入門教程 | 廣播機制 BroadcastAndroidAST
- Android與物聯網裝置通訊-利用UDP廣播來做裝置查詢AndroidUDP
- 靠近阿里雲–視訊點播阿里
- 在你的 Fedora 終端上播放音樂
- 教你如何實現 Android TextView 文字輪播效果AndroidTextView
- Android中用Kotlin Coroutine(協程)和Retrofit進行網路請求和取消請求AndroidKotlin
- Android 廣播內容全知道 | 掘金技術徵文Android
- 短影片直播系統,Android卡片式輪播Android
- 直播軟體原始碼,Android---Banner輪播圖原始碼Android
- android粘性廣播主動獲取當前值Android
- 來電對播放音樂的影響
- 網路通訊4:TCP廣播TCP
- 阿里雲視訊點播轉碼阿里