Android EasyPlayer聲音自動(dòng)停止、恢復(fù),一鍵靜音等功能

我們?cè)陂_(kāi)發(fā)播放器時(shí),可能會(huì)需要靜音或者降低音量的功能。比如說(shuō)某款音樂(lè)播放器,當(dāng)在后臺(tái)播放時(shí),如果此時(shí)有另外的系統(tǒng)通知聲音發(fā)出,可能播放器會(huì)把音量降低,系統(tǒng)聲音結(jié)束后,再調(diào)高;如果有來(lái)電了,播放器可能會(huì)把音樂(lè)暫停,等通話(huà)結(jié)束后再繼續(xù)播放。還有,比方說(shuō)我們?cè)谀硞€(gè)場(chǎng)合放個(gè)視頻,不料音量很大,會(huì)引來(lái)很多目光(很尷尬),這時(shí)候可能我們需要一鍵靜音的功能。那這些功能我們應(yīng)該如何實(shí)現(xiàn)呢?
Android播放聲音的類(lèi)為AudioTrack,播放器會(huì)先把音頻流demux出來(lái),再decode,之后,把音頻PCM數(shù)據(jù)通過(guò)AudioTrack類(lèi)write到音頻設(shè)備中,從而通過(guò)話(huà)筒或者揚(yáng)聲器發(fā)出聲音。
為了方便地實(shí)現(xiàn)聲音控制,我們需要從應(yīng)用的最上層進(jìn)行操作(因?yàn)榈讓涌赡芤呀?jīng)被抽象成庫(kù)了),也就是要從AudioTrack來(lái)入手。讓我們看看AudioTrack的一些API吧。
int getPlayState () Returns the playback state of the AudioTrack instance. 獲取當(dāng)前的播放狀態(tài)。這個(gè)接口會(huì)返回PLAYSTATE_STOPPED、PLAYSTATE_PAUSED、PLAYSTATE_PLAYING 三種狀態(tài),分別表示未播放、暫停中、正在播放
網(wǎng)站題目:AndroidEasyPlayer聲音自動(dòng)停止、恢復(fù),一鍵靜音等功能-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://chinadenli.net/article40/cocpho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站導(dǎo)航、網(wǎng)頁(yè)設(shè)計(jì)公司、App開(kāi)發(fā)、面包屑導(dǎo)航、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容