【问题标题】:Android MediaPlayer play m3u8 only audio streammingAndroid MediaPlayer 仅播放 m3u8 音频流
【发布时间】:2013-03-19 18:17:38
【问题描述】:

大家好,提前致谢,

经过一整天的寻找、搜索和尝试,我什至不知道这是否可能,或者问题是否在代码中,或者问题是否在服务器中......

首先MediaPlayer可以播放m3u8文件吗?

如果是...仅在高于 3.0 或 4.0 的版本中?

如果我只是尝试在真实设备 4.0.4 中播放 url,我会收到错误 (1,-1010) 或错误 100 或 -214...。代码很简单:

MediaPlayer mp = new MediaPlayer();
fich="http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"; //e.g.
mp.setDataSource(localContext, Uri.parse(fich));
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setVolume(((float)volumenAudio / 100), ((float)volumenAudio / 100));
mp.prepare();

我这样做的方式是否存在基本错误?有什么我不知道的?

最好的问候和感谢,

【问题讨论】:

标签: android streaming media-player android-mediaplayer m3u8


【解决方案1】:

对于您的第一个问题,MediaPlayer 可以播放m3u8 文件吗?,答案是可以MediaPlayer 确实支持MP3 播放列表文件的播放。

对于你的下一个问题,只有大于 3.0 或 4.0 的版本?,我们需要仔细考虑答案。 Android 3.0 a.k.a. HoneyComb 不是一个开放的发行版,因此,我不确定你的问题的答案。它可能被支持,但只是一个猜测。从Android 4.0 / ICS 开始支持m3u8 文件的播放。请找到源链接,其中为m3u8文件创建了播放器http://androidxref.com/4.0.4/xref/frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp#583

如果您收到error(1, -1010) 的错误,这意味着在您的播放器的某个地方,引擎正在返回一个ERROR_UNSUPPORTED 返回代码。作为参考,您可以查看来源here

您必须进一步调试并定位问题。

【讨论】:

  • 感谢 ganesh ...我一直在遇到几种错误。我不一定需要这个......所以现在我会在没有这个功能的情况下生活,我将继续与 .mp3 源连接:)
  • developer.android.com/about/versions/… 建议它是在 3.0 中添加的 "应用程序现在可以将 M3U 播放列表 URL 传递给媒体框架以开始 HTTP Live 流会话。媒体框架支持大多数 HTTP Live流规范,包括自适应比特率。”
  • @Dori.. 感谢您的链接。早些时候,HoneyComb 即 Android 3.0 没有被公开引用,因此我避免了同样的情况。对于那些签署 NDA 的人来说,他们可以更早地观察到代码。
猜你喜欢
  • 1970-01-01
  • 2015-02-11
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多