首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓MediaPlayer在安卓2.1版本之前的自定义音频流应用中运行良好,但在更高版本中无法正常工作

安卓MediaPlayer在安卓2.1版本之前的自定义音频流应用中运行良好,但在更高版本中无法正常工作
EN

Stack Overflow用户
提问于 2011-12-30 02:01:25
回答 3查看 20.7K关注 0票数 19

编辑:

Android 2.2 MediaPlayer is working fine with one SHOUTcast URL but not with the other one

我需要播放来自外部URL(shoutcast流)的音频文件。目前,音频文件是增量下载的,一旦我们在手机本地临时存储中获得了足够的音频,音频文件就会立即播放。我正在使用StreamingMediaPlayer class

检查这段代码:

    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-错误是"Unable to create media player“

尝试的其他解决方案:

我尝试了下面的替代方案,但到目前为止都没有效果。

Android 2.2 MediaPlayer is working fine with one SHOUTcast URL but not with the other one

我要找的是什么?

我的目标是拥有一个可以在Android2.1及更高版本上运行的代码。

这里也讨论了这个问题:

1- Inconsistent 2.2 Media Player Behavior

2- android code for streaming shoutcast stream breaks in 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)
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8671479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档