2017-11-23 23 views
1

私はCordova (7.1.0)で音楽ウェブアプリケーションを構築しました。私はweb audio APIを使用してサウンドを管理しています。私の質問は次のとおりです:Cordova検出スイッチオーディオモード - 内蔵スピーカーからブルートゥーススピーカー

どのようなオーディオソースを選んだのですか?ビルトインオーディオVS Bluetoothオーディオ。 iPhone上で例えば

、ゲームをプレイ中に私がプレーに選択することができますが、私のデバイスのスピーカー(内蔵スピーカー)を介して直接音や私のBluetoothスピーカーに切り替えることができます。ユーザーがあるモードから別のモードに切り替わっているときに、JavaScriptを介してどのように確認できますか?

私は、ヘッドセットの状態(接続したりしない)をリスニングについてCordova pluginを見つけました。これは有線のヘッドホンではうまく動作しますが、内蔵スピーカーがブルートゥーススピーカーに切り替えられたときは検出されません。

私はbluetoothの状態(接続されてかどうかを)聴いについて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

関連する問題