1

我正在为实现网络广播的发布者编写一个用于播放直播流的 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) Samsung Galaxy S (Stock Rom, Android 2.3.x) Samsung 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) Asus eee Pad Transformer TF101 (Stock Rom, Android 4.0.3)

此代码不适用于所有 Android > 2.2 的 LG 设备......但是......为什么?

如何在 LG 设备上播放直播流?

4

1 回答 1

1

I am having the same problem with LG phones and shoutcast. It gets to prepare() and then throws an error for the media player has crashed. I looked on LG's site but could not find any documentation or developer areas for help from them. Has anyone figured out what LG is doing different and how to make it work??

于 2012-03-19T20:30:02.507 回答