久草免费在线观看-久草免费在线色站-久草免费在线视频-久草免费资源-天堂网中文在线-天堂网中文字幕

歡迎來到酷云建站平臺,全網(wǎng)營銷云系統(tǒng)加盟中心!

海量企業(yè)網(wǎng)站模板 · 任您選擇

美出特色,精出品質,一切為了企業(yè)更好的營銷

隱藏側欄
Beta
轉載

如何使用SoundPool加載音頻文件

       小程序     2021-12-16     admin     160     0    

如何使用SoundPool加載音頻文件?下面徐州APP制作開發(fā)公司-百恒網(wǎng)絡就來為大家揭曉,不過在介紹如何使用SoundPool加載音頻文件前首先得先創(chuàng)建一個SoundPool對象,具體操作如下圖所示。

創(chuàng)建SoundPool對象

Lollipop引入了新的方式創(chuàng)建SoundPool:使用SoundPool.Builder。不過,為了兼容API 16最低級別,只能選擇使用SoundPool(int, int, int)這個老構造方法了。

第一個參數(shù)指定同時播放多少個音頻。這里指定了5個。在播放5個音頻時,如果嘗試再播放第6個,SoundPool會停止播放原來的音頻。

第二個參數(shù)確定音頻流類型。Android有很多不同的音頻流,它們都有各自獨立的音量控制選項。這就是調(diào)低音樂音量,鬧鐘音量卻不受影響的原因。打開文檔,查看AudioManager類的AUDIO_*常量,還可以看到其他控制選項。STREAM_MUSIC使用的是同音樂和游戲一樣的音量控制。

最后一個參數(shù)指定采樣率轉換品質,這個參數(shù)不起作用,所以這里傳入0值。

接下來就開始使用SoundPool加載音頻文件,相比其他音頻播放方法,SoundPool還有個快速響應的優(yōu)勢:指令剛一發(fā)出,它就會立即開始播放,一點都不拖沓。

不過反應快也是有代價的,那就是在播放前必須預先加載音頻。SoundPool加載的音頻文件都有自己的Integer類型ID。如下圖所示,在Sound類中添加mSoundId實例變量,并添加相應的獲取方法和設置方法管理這些ID。

添加mSondId實例變量

徐州APP制作開發(fā)公司要提醒大家的是,mSoundId用了Integer類型而不是int。這樣,在Sound的mSoundId沒有值時可以設置其為null值。

現(xiàn)在處理音頻加載。在BeatBox中添加一個load(Sound)方法載入音頻,如下圖所示。

加載音頻

調(diào)用mSoundPool.load(AssetFileDescriptor, int)方法可以把文件載入SoundPool待播。為方便管理、重播或卸載音頻文件,mSoundPool.load(...)方法會返回一個int型ID。這實際就是存儲在mSoundId中的ID。調(diào)用openFd(String)方法有可能拋出IOException,load(Sound)方法也是如此。

現(xiàn)在,在BeatBox.loadSounds()方法中,調(diào)用load(Sound)方法載入全部音頻文件,如下圖所示。

載入全部音頻文件

運行應用確認音頻都已正確加載。否則,會看到LogCat中的紅色異常日志。

以上就是酷優(yōu)網(wǎng)絡為大家講的使用SoundPool加載音頻文件方法,了解更多關于徐州APP開發(fā)公司技術資訊,歡迎來電咨詢酷優(yōu)網(wǎng)絡,或者訪問公司官網(wǎng)查看更多技術文章。


--結束END--

本文鏈接: http://www.u0rvp.cn/start/2386.html (轉載時請注明來源鏈接)

 
本文標簽: 全部

下班PC閱讀不方便?

手機也可以隨時學習開發(fā)

微信關注公眾號“酷云”
"酷云平臺前端開發(fā)教學"
每日干貨技術分享
 

×

成為 酷云平臺 代理商!

關注

微信
關注

微信掃一掃
獲取最新優(yōu)惠信息

酷云平臺公眾號

客服

聯(lián)系
客服

很高興為您服務
尊敬的用戶,歡迎您咨詢,我們?yōu)樾掠脩魷蕚淞藘?yōu)惠好禮。 咨詢客服

聯(lián)系客服:

在線QQ: 3206174

客服電話: 0516-83703228

售前咨詢 售后服務
在線交談 智能小云

工作時間:

周一至周五: 09:00 - 17:00

WAP

手機
訪問

移動端訪問
手機上也能選模板

酷云平臺手機端