我正在为实现网络广播的发布商编写一个播放shoutcast流的Android应用程序。
在API级别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) 三星Galaxy S(Stock Rom,Android 2.3.x) 三星Galaxy S 2(Stock Rom,Android 2.3.x) HTC Desire(Stock 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>的LG设备。 2.2 ... 但是......为什么?
如何在LG设备上播放shoutcast strem?
答案 0 :(得分:1)
我遇到了与LG手机和shoutcast相同的问题。它得到prepare()然后抛出错误,媒体播放器已崩溃。我查看了LG的网站,但找不到任何文档或开发者区域的帮助。有没有人弄清楚LG在做什么不同以及如何让它发挥作用?