【发布时间】:2023-04-13 12:42:02
【问题描述】:
正如标题所说,我基本上想知道 MediaPlayer 流媒体支持是否适用于所有版本的 Android。
这是我目前使用的代码,在我的 Android 2.2 手机上运行良好:
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(SHOUTCAST_STREAM);
mp.prepare();
mp.start();
但这适用于 1.5 或 1.6 吗?还是我必须为流构建自己的缓冲管理系统?
* 更新 *
刚刚在 1.6 模拟器上测试过,出现以下错误。在 2.2 模拟器上它工作正常。
23:15:50.074 31 ERROR PlayerDriver Command PLAYER_INIT completed with an error or info PVMFFailure
23:15:50.074 282 ERROR MediaPlayer error (1, -1)
23:15:50.074 282 ERROR MediaPlayer io error
23:15:50.074 282 ERROR MediaPlayer java.io.IOException: Prepare failed.: status=0x1
23:15:50.074 282 ERROR MediaPlayer at android.media.MediaPlayer.prepare(Native Method)
23:15:50.074 282 ERROR MediaPlayer at org.me.bla.Bla.onCreate(Bla.java:38)
23:15:50.074 282 ERROR MediaPlayer at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
23:15:50.074 282 ERROR MediaPlayer at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2364)
23:15:50.074 282 ERROR MediaPlayer at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417)
23:15:50.074 282 ERROR MediaPlayer at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3502)
23:15:50.074 282 ERROR MediaPlayer at android.app.ActivityThread.access$2200(ActivityThread.java:116)
23:15:50.074 282 ERROR MediaPlayer at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1798)
23:15:50.074 282 ERROR MediaPlayer at android.os.Handler.dispatchMessage(Handler.java:99)
23:15:50.074 282 ERROR MediaPlayer at android.os.Looper.loop(Looper.java:123)
23:15:50.074 282 ERROR MediaPlayer at android.app.ActivityThread.main(ActivityThread.java:4203)
23:15:50.074 282 ERROR MediaPlayer at java.lang.reflect.Method.invokeNative(Native Method)
23:15:50.074 282 ERROR MediaPlayer at java.lang.reflect.Method.invoke(Method.java:521)
23:15:50.074 282 ERROR MediaPlayer at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
23:15:50.074 282 ERROR MediaPlayer at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
23:15:50.074 282 ERROR MediaPlayer at dalvik.system.NativeStart.main(Native Method)
这是否意味着它根本无法在旧版本的操作系统上运行,还是有任何解决方法?我想我可以做一个自定义缓冲系统,但我想先确定没有更简单的方法。
【问题讨论】:
-
当你在 1.5 和 1.6 模拟器中尝试时发生了什么?
-
@CommonsWare 我正在考虑它,但由于某种原因,我认为模拟器无法播放声音,这使我无法准确测试它。我试试看。
-
也做了一些阅读,这似乎是 HTTP HEADER 的问题。较新版本的操作系统似乎足够聪明,可以解决旧版本似乎无法解决的问题。
-
我也在尝试流式传输 Shoutcast URL。代码真的很简单。但是,我无法让它与 2.3.3 和 2.3.5 一起使用。我不断收到 Prepare failed.: status=0x1 错误。我想,我的流媒体资源有问题。你能把你的网址分享给我测试一下吗?
标签: android streaming media-player