MediaPlayer,只有视频m3u8 HTML流工作

时间:2012-07-30 14:43:20

标签: android stream streaming http-live-streaming

我正在使用带有m3u8音频流的MediaPlayer。这会导致出现日志错误消息:Error(1, -1010)

当我查看错误代码时,第一个参数似乎没问题:https://github.com/android/platform_external_opencore/blob/master/pvmi/pvmf/include/pvmf_return_codes.h

只有-1010,很奇怪。

当我使用苹果视频m3u8时,它的效果非常好!这是网址: http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8

我正在使用的代码很简单:

MediaPlayer mediaPlayer = new MediaPlayer();
try {
    mediaPlayer.setDataSource("http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8");
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mediaPlayer.prepare();
    mediaPlayer.setOnPreparedListener(this);
    mediaPlayer.setOnErrorListener(this);
    mediaPlayer.setOnCompletionListener(this);
    mediaPlayer.start();
} catch (IllegalArgumentException e1) {
    e1.printStackTrace();
} catch (IllegalStateException e1) {
    e1.printStackTrace();
} catch (IOException e1) { 
    e1.printStackTrace();
}

有没有人知道音频流是否有限制?我使用了多种格式和不同的扩展名。

其他问题:有人有m3u8音频流的URL,所以我可以测试其他流吗?

1 个答案:

答案 0 :(得分:1)

我目前正在参与解决这个问题的项目。 现在我知道这并没有真正回答你的问题,但只是为了洞察力,即使在Android 4.0+ M3U8上,支持也是最多的,最糟糕的是糟糕的。

E.g:

  • Nexus 7在Akmai上失败,适用于UStream
  • Droid RAZR适用于Akmai和UStream。

现在没有通过类扩展修补库(并且每个其他android小版本都有.so),我们发现没有SDK / NDK专用解决方案;经过一个月的试验和错误,我们放弃了我们的项目(成本太高)。

我们实施的解决方案是:尝试SDK MediaPlayer。如果失败则使用基于FFMPEG的播放器(内部开发,使用dranger,ffplay,android-fplayer和dolphin-player作为灵感)。