Android 6(Marshmallow)へのアップグレードでインターネットラジオステーションのプレーヤーアプリが失敗しました。テストするために、Mediaプラグインのドキュメントからサンプルコード(下記)をコピーし、最新のCordova(6.1.1)、Androidプラットフォーム(5.1.1)、ブラウザプラットフォーム(4.1.0)、Mediaプラグイン(2.3.0)。また、必要なホワイトリストステートメントを追加しました(下記)。ブラウザプラットフォームでは、インターネットファイルとインターネットストリームの両方を再生します。 Androidプラットフォームでは、mp3インターネットストリームを開始できません。コンソールログは、ストリームが1秒以内に終了し、OnSuccessコールバックが呼び出されたことを示します。エラーメッセージは表示されず、単に「playAudio():Audio Success」と記録され、終了します。Android 6(Marshmallow)でmp3インターネットオーディオストリーミングでCordova Mediaプラグインが失敗する
プレーヤーコード
var src = "http://audio.wgbh.org:8104";
my_media = new Media(src,
// success callback
function() {
console.log("playAudio():Audio Success");
},
// error callback
function (err) {
console.log("playAudio():Audio Error: " + err);
}
config.xmlのホワイトリストがされている(はい安全ではない、私はそれ以降の修正します)
<plugin name="cordova-plugin-whitelist" source="npm" spec="1" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" launch-external="yes" /> <!-- Required for iOS9 -->
12月から、以前のスタックオーバーフローの質問2015年も同じ問題 "cordova media plugin stopped working on Android 6"でした。これは、AudioPlayerへのJavaパッチを示唆しています。私はその変更を行い、テストアプリを再構築しました。しかしそれは何も変わらなかった。その変更を行うにはコルドバを十分に構築していますか?
BTWは、USBに接続された実際の電話機でテストし、Chromeのツールを使用してログを確認します。
私には何が欠けていますか?または、これはMediaプラグインのJavaコードまたはAndroidプラットフォームのバグですか?
すごくありがとう!これは完璧に機能しました! – Fastmover