我正在使用带有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,所以我可以测试其他流吗?
答案 0 :(得分:1)
我目前正在参与解决这个问题的项目。 现在我知道这并没有真正回答你的问题,但只是为了洞察力,即使在Android 4.0+ M3U8上,支持也是最多的,最糟糕的是糟糕的。
E.g:
现在没有通过类扩展修补库(并且每个其他android小版本都有.so),我们发现没有SDK / NDK专用解决方案;经过一个月的试验和错误,我们放弃了我们的项目(成本太高)。
我们实施的解决方案是:尝试SDK MediaPlayer。如果失败则使用基于FFMPEG的播放器(内部开发,使用dranger,ffplay,android-fplayer和dolphin-player作为灵感)。