2

Bluetoothデバイスが範囲外になり、iOSデバイスがスタンバイ(画面ロック)またはアプリがバックグラウンドで最小化されている場合、オーディオサンプルをIonic/Cordova Appで再生しようとしています。バックグラウンド再生は、iOS 10のコードバメディアプラグインでも機能しますか?

私は、Androidデバイス用のオーディオファイルのパスを修正する機能を、Cordova media plugin documentationの例と同様の機能を使用しています:

function getMediaURL(url) { 
    if(device.platform.toLowerCase() === "android") return "/android_asset/www/" + url; 
    return url; 
}; 

function soundAlarm() { 
    var mediaUrl = getMediaURL('sounds/alarm.wav'); 

    alarmSound = new Media(mediaUrl, null, 
    // error callback 
    function (err) { 
     console.log("playAudio():Audio Error: " + angular.toJson(err)); 
    }); 

    alarmSound.play({ playAudioWhenScreenIsLocked : true, numberOfLoops: 3 }); 
} 

アプリケーションはしかし、ときフォアグラウンドにあるとき、これが正常に動作します私は、私は次のエラーを取得する携帯電話をロックしたり、アプリケーションを最小化:

{"message":"","code":4} 

Cordova media plugin documentationによると、エラーコード4は

を意味し、

再生メソッドに渡す 'playAudioWhenScreenIsLocked'オプションは、私が問題を処理することになっていますが、毎回上記のエラーが発生します。また、このプロパティはデフォルトでtrueに設定されています。

バックグラウンドモードのプラグインを使用したくないのですが、この機能はcordovaメディアプラグインを使用してすぐに使用でき、バックグラウンドモードのプラグインによってApp Storeから拒否される可能性があります。

アプリケーションがバックグラウンドになっているか、デバイスがスタンバイモードになっているときに、誰かがオーディオを起動するのに成功しましたか?

+0

これを今までに把握しましたか?私は今同じ問題に直面している。 –

答えて

0

「背景モード」を有効にして、Xcodeから「オーディオ、Airplay、ピクチャインピクチャ」をチェックして機能させる必要がありました。

+0

「オーディオ、エアプレイ、ピクチャインピクチャ」オプションはどこで見つかりましたか?バックグラウンドモードのプラグインを使用し、一時的に有効にしてサウンドを再生できるようにしなければなりませんでした。私はこの方法で行うことができました。なぜなら、私のアプリケーションは、アプリケーションと相互作用するブルートゥースデバイスからのイベントによって部分的に目覚めましたが、アプリケーションはバックグラウンドモードプラグインの助けなしにサウンドを再生するのに十分に目を覚まさなかったようです。 [私はバグレポートを提出しました](https://issues.apache.org/jira/browse/CB-12422)、それに付属しているものはすべてドキュメントに追加されたものです。 – remondo

+0

XCodeで、Project Navigatorでプロジェクトファイルをクリックします。メインペインには、 "General"、 "Capabilities"などが表示されます。 [機能]をクリックし、[背景モード]を有効にして展開します。 これがうまくいく場合、将来の訪問者のために答えを受け入れてください。 :) –

関連する問題