Meine Internet Radio Station Player App ist mit dem Upgrade auf Android 6 (Marshmallow) fehlgeschlagen. Zum Testen habe ich den Beispielcode (unten) aus den Dokumenten für das Medien-Plugin kopiert und eine kleine Test-App auf der neuesten Cordova (6.1.1), Android-Plattform (5.1.1), Browser-Plattform (4.1.0) und Media-Plugin erstellt (2.3.0). Ich fügte auch notwendige Whitelist-Anweisungen hinzu (unten). Auf der Browser-Plattform spielt es sowohl Internet-Dateien als auch Internet-Streams ab. Auf der Android-Plattform können keine mp3-Internet-Streams gestartet werden. Das Konsolenprotokoll zeigt, dass ein Stream innerhalb von 1 Sekunde beendet wird und der OnSuccess-Callback aufgerufen wird. Keine Fehlermeldungen, nur "playAudio(): Audio Success" protokolliert und beendet.Cordova Media Plugin schlägt mit mp3 Internet Audio Streaming auf Android 6 (Marshmallow)
Spieler Code ist
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 weiße Liste ist (ja unsicher, werde ich die später fix)
<plugin name="cordova-plugin-whitelist" source="npm" spec="1" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" launch-external="yes" /> <!-- Required for iOS9 -->
Eine frühere Stapelüberlauf Frage von Dezember 2015 hatte das gleiche Problem "cordova media plugin stopped working on Android 6". Es schlägt einen Java-Patch für den AudioPlayer vor. Ich habe diese Änderung vorgenommen und meine Test-App neu aufgebaut. Das hat aber nichts geändert. Ist ein Cordova-Build ausreichend, um diese Änderung vorzunehmen?
BTW, testen auf einem echten Telefon an USB angeschlossen, sehen Protokoll über Chrome-Dev-Tools.
Was fehlt mir? Oder ist das ein Fehler im Media-Plugin-Java-Code oder in der Android-Plattform?
Vielen Dank! Das hat perfekt funktioniert! – Fastmover