簡體   English   中英

如何設置Android OpenSL ES的輸出音頻設備?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM