[英]How to set output audio device for Android OpenSL ES?
我制作的播放器只能通過耳機(有線或藍牙)播放,而不能通過揚聲器播放。 如果在播放過程中關閉耳機,播放器將自動暫停。 重新連接(藍牙)耳機並且收到ACTION_AUDIO_STATE_CHANGED
事件時,我將繼續播放。 但是幾秒鍾后,聲音會通過內置揚聲器,然后才進入耳機。 我認為可以通過將設備設置為輸出來解決此問題。 我可以從AudioManager獲取設備ID。 但是如何將其傳遞給OpenSL ES?
也許有一種方法可以完全阻止通過內置揚聲器播放?
還是解決這個問題的另一種方法?
PS聖誕老人,有需要時您在哪里? 請幫幫我!
也許您可以使用BroadcastReceiver收聽其他類型的事件:
BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED -> {
state = intent.getIntExtra(BluetoothA2dp.EXTRA_STATE, -1)
when (state) {
BluetoothA2dp.STATE_CONNECTED -> {
// Do something
}
BluetoothA2dp.STATE_DISCONNECTED -> {
// Do something else
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.