2017-11-23 15 views
1

나는 Cordova (7.1.0)과 함께 음악 웹 응용 프로그램을 만들었으며 사운드를 관리하려면 web audio API을 사용합니다. 내 질문 :코르도바 감지 스위치 오디오 모드 - 내장 스피커에서 블루투스 스피커

플레이어가 선택한 오디오 소스를 어떻게 확인할 수 있습니까? 내장형 오디오 VS 블루투스 오디오.

예를 들어 iPhone에서 게임을하는 동안 내 장치 스피커 (내장 스피커)를 통해 직접 소리를 내거나 내 블루투스 스피커로 전환 할 수 있습니다. 사용자가 한 모드에서 다른 모드로 전환 할 때 JavaScript를 통해 어떻게 확인할 수 있습니까?

헤드셋 상태 (연결 여부)를 청취하는 데 대해 Cordova plugin가 있습니다. 이것은 유선 헤드폰에 적합하지만 내장형 스피커가 블루투스 스피커로 전환 된 경우 감지하지 못합니다.

블루투스 상태 (연결 여부)를 청취하는 데 대해 Cordova plugin가 발견되었습니다. 그러나 이것은 사용자가 모드를 전환 할 때 알려지지 않습니다 ...

어떤 아이디어라도 환영합니다!

답변

1

이 Cordova 플러그인은 당신이 무엇을 찾고 계십니까? https://github.com/saghul/cordova-plugin-audioroute

AVAudioSessionRouteChangeNotification에 연결하여 시스템 오디오 경로가 변경되면이를 감지합니다. Detect (listen to) audio route change in iOS 7

AVAudioSessionRouteChangeNotification 문서 :

document.addEventListener('audioroute-changed', 
    function(event) { 
    console.log('Audio route changed: ' + event.reason); 
    // code for stuff you want to do 
    } 
); 

AVAudioSessionRouteChangeNotification도 비슷한 질문에 여기에 언급되어있는 README에 따르면 당신은 너무 같은 프로젝트 내에서 이벤트 리스너를 플러그인을 추가하고 배치 할 수 있어야한다 : https://developer.apple.com/documentation/avfoundation/avaudiosessionroutechangenotification

+0

이것은 정확히 내가 필요로했던 것입니다. 도와 주셔서 정말로 고맙습니다! 주의 :이 플러그인을 사용하여 연결된 오디오 포트 이름을 얻으려면 플러그인의 전체 이름 공간을 사용해야합니다 (예 : cordova.plugins.audioroute.currentOutputs (successCallback, errorCallback) – Faks