我正在为实现网络广播的发布者编写播放 shoutcast 流的 android 应用程序。
在 API level 8 (android 2.2) MediaPlayer 类可以播放流,所以:
Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
在实际应用中,我使用的是 prepareasync(),因此 UI 会响应 ProgressDialog。
但是对于这个例子 prepare() 没问题。
现在... 在 Android < 2.2(API 级别 < 8)上,媒体播放器不播放。 在 Android >= 2.2(API 级别 >= 8)上播放媒体播放器,但不是在所有设备上播放。
此代码适用于:
Nexus One(CyanogenMod 7,Android 2.3.x) Samsung Galaxy S(原版ROM,Android 2.3.x) 三星盖乐世 S 2(原版ROM,Android 2.3.x) HTC Desire(原版ROM,Android 2.3.x) HTC Desire HD (Stock Rom, Android 2.3.x) 模拟器(Android 2.2) 华硕 eee Pad Transformer TF101 (Stock Rom, Android 4.0.3)
此代码不适用于装有 Android > 2.2 的所有 LG 设备... 但是……为什么?
如何在 LG 设备上播放 shoutcast strem?
最佳答案
我在使用 LG 手机和 Shoutcast 时遇到了同样的问题。它进入 prepare() 然后抛出媒体播放器崩溃的错误。我查看了 LG 的网站,但找不到任何文档或开发人员区域来寻求他们的帮助。有没有人知道 LG 的不同之处以及如何让它发挥作用??
关于android - LG(Android > 2.1)媒体播放器不播放 shoutcast 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9514487/