Android MediaPlayer funktioniert gut in benutzerdefinierten Audio-Streaming-Anwendung bis zu Android 2.1, aber nicht in höheren Versionen

EDIT:

Android 2.2 MediaPlayer ist in Ordnung arbeiten mit einem SHOUTcast-URL aber nicht mit dem anderen

Brauche ich für das Abspielen von audio-Dateien von externen URLs(shoutcast Streams). Derzeit werden die audio-Dateien heruntergeladen werden inkrementell & gespielt werden, sobald wir genügend audio in Telefon-lokalen temporären Speicher. ich bin mit dem StreamingMediaPlayer Klasse.

Überprüfen Sie dieses Stück code:

    private MediaPlayer createMediaPlayer(File mediaFile)
            throws IOException {
        MediaPlayer mPlayer = new MediaPlayer();
        //example of mediaFile =/data/data/package/cache/playingMedia0.dat
        FileInputStream fis = new FileInputStream(mediaFile);
        mPlayer.setDataSource(fis.getFD());
        mPlayer.prepare();
        return mPlayer;
    }

Aktueller status:

1. - Es funktioniert von Android 1.6 auf 2.1 aber nicht in den höheren Versionen wie Android 2.2.

2 - Die "mPlayer."setDataSource(Zi.getFD())" wird die Zeile, die den Fehler auslöst.

3 - Der Fehler ist "Nicht in der Lage zu erstellen media player"

Andere Lösung versucht:

Ich habe versucht, aus alternativen Lösung, aber nichts funktionierte bisher.

Android 2.2 MediaPlayer ist in Ordnung arbeiten mit einem SHOUTcast-URL aber nicht mit dem anderen

Was ich Suche?

Mein Ziel ist es, ein Stück code, die arbeiten, können auf Android 2.1 & höher.

Dieses Problem wird auch hier diskutiert:

1- Inkonsistente 2.2 Media Player Verhalten

2- android-code für das streaming von shoutcast-stream bricht in 2.2

3 - Dieses Problem wird auch diskutiert, eine Menge von Fragen auf dieser Website, aber ich fand die Antwort nicht, wo.

4- markmail.org

LogCat-trace:

Unable to to create media player
Error copying buffered conent.
java.lang.NullPointerException
com.ms.iradio.StreamingMediaPlayer.startMediaPlayer(StreamingMediaPlayer.java:251)
com.ms.iradio.StreamingMediaPlayer.access$2(StreamingMediaPlayer.java:221)
com.ms.iradio.StreamingMediaPlayer$2.run(StreamingMediaPlayer.java:204)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:123)
android.app.ActivityThread.main(ActivityThread.java:3683)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:507)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
dalvik.system.NativeStart.main(Native Method)

InformationsquelleAutor der Frage | 

Schreibe einen Kommentar