W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
有時設備同時連接多個音頻輸出設備,需要指定音頻輸出設備進行音頻播放,此時需要使用AudioRoutingManager接口進行輸出設備的管理,API說明可以參考AudioRoutingManager API文檔。
在使用AudioRoutingManager管理音頻設備前,需要先導入模塊并創(chuàng)建實例。
- import audio from '@ohos.multimedia.audio'; // 導入audio模塊
- let audioManager = audio.getAudioManager(); // 需要先創(chuàng)建AudioManager實例
- let audioRoutingManager = audioManager.getRoutingManager(); // 再調用AudioManager的方法創(chuàng)建AudioRoutingManager實例
目前支持的音頻輸出設備見下表:
名稱 | 值 | 說明 |
---|---|---|
EARPIECE | 1 | 聽筒。 |
SPEAKER | 2 | 揚聲器。 |
WIRED_HEADSET | 3 | 有線耳機,帶麥克風。 |
WIRED_HEADPHONES | 4 | 有線耳機,無麥克風。 |
BLUETOOTH_SCO | 7 | 藍牙設備SCO(Synchronous Connection Oriented)連接。 |
BLUETOOTH_A2DP | 8 | 藍牙設備A2DP(Advanced Audio Distribution Profile)連接。 |
USB_HEADSET | 22 | USB耳機,帶麥克風。 |
使用getDevices()方法可以獲取當前所有輸出設備的信息。
- audioRoutingManager.getDevices(audio.DeviceFlag.OUTPUT_DEVICES_FLAG).then((data) => {
- console.info('Promise returned to indicate that the device list is obtained.');
- });
可以設置監(jiān)聽事件來監(jiān)聽設備連接狀態(tài)的變化,當有設備連接或斷開時觸發(fā)回調:
- // 監(jiān)聽音頻設備狀態(tài)變化
- audioRoutingManager.on('deviceChange', audio.DeviceFlag.OUTPUT_DEVICES_FLAG, (deviceChanged) => {
- console.info('device change type : ' + deviceChanged.type); // 設備連接狀態(tài)變化,0為連接,1為斷開連接
- console.info('device descriptor size : ' + deviceChanged.deviceDescriptors.length);
- console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceRole); // 設備角色
- console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceType); // 設備類型
- });
- // 取消監(jiān)聽音頻設備狀態(tài)變化
- audioRoutingManager.off('deviceChange', (deviceChanged) => {
- console.info('Should be no callback.');
- });
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: