Android MediaPlayer отлично работает в приложении Custom Audio Streaming до Android 2.1, но не в более поздних версиях

РЕДАКТИРОВАТЬ:

Android 2.2 MediaPlayer отлично работает с одним URL-адресом SHOUTcast, но не с другим

Мне нужно воспроизводить аудиофайлы с внешних URL-адресов (поток shoutcast). В настоящее время аудиофайлы загружаются постепенно и воспроизводятся, как только мы получаем достаточно звука в локальном временном хранилище телефона. Я использую класс StreamingMediaPlayer .

Проверьте этот фрагмент кода:

    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;
    }

Текущий статус:

1- Он отлично работает с Android 1.6 до 2.1, но не работает с более поздними версиями, такими как Android 2.2.

2- «mPlayer.setDataSource (fis.getFD ())» - это строка, которая вызывает ошибку.

3- Ошибка: «Невозможно создать медиаплеер»

Попытка другого решения:

Я попробовал альтернативное решение, но пока ничего не помогло.

Android 2.2 MediaPlayer отлично работает с одним URL-адресом SHOUTcast, но не работает с другим

Что я ищу?

Моя цель - получить кусок кода, который может работать на Android 2.1 и выше.

Эта проблема также обсуждается здесь:

1- Несогласованное поведение медиаплеера 2.2

2- Код Android для потоковой передачи прерываний потока shoutcast в 2.2

3- Эта проблема также обсуждается во многих вопросах на этом сайте, но я нигде не нашел ответа.

4- markmail.org

Трассировка LogCat:

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)

19
задан 19 revs, 2 users 76% 23 May 2017 в 12:34
поделиться