android – 发布MediaPlayer缓冲时间流音频

前端之家收集整理的这篇文章主要介绍了android – 发布MediaPlayer缓冲时间流音频前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用MediaPlayer通过HTTP流式传输.在棒棒糖我的流需要大约一分钟开始是不能接受的. Kit Cat需要大约20秒钟,屁股已经疼了,但现在变得无法使用了.

有一个well known problem与该组件相关的缓冲:缓冲区的字节数量被编码并且不能被更改.

我的代码是非常标准的

player.reset();
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setDataSource(streamUrl);
player.prepareAsync();

准备好了

player.start();

我听说过GStreamer的替代品,但是我无法使其在Windows上工作.

我想知道有没有人有一个工作的解决方案,通过HTTP流式播放通过一个体面的开始延迟.

编辑

我测试了ExoPlayer,但是我得到的较低的开始时间是15秒.玩家被困在“准备”状态(不缓冲,那是我到目前为止看到的).

编辑

流的格式是AAC

编辑

我测试了https://code.google.com/p/aacdecoder-android/,但是这个库所面临的唯一问题是缺少对流暂停的支持.我的应用程序需要支持在线流量暂停.

解决方法

如果您的用例与GPL / LGPL许可证兼容,那么VLC应该是您所需要的. VLC能够在3G网络上从您的网址流出,延迟时间只有1秒.

步骤1:
下载VLC源代码并编译instruction

第2步:最重要的类是org.videolan.vlc.audio.AudioServiceController,它是从org.videolan.vlc.gui.MRLPanelFragement.processUri()调用的 – > org.videolan.vlc.util.Util.openStream(Context,String) – > AudioServiceController.load(String,boolean).您可以删除除AudioServiceController及其支持类之外的所有不必要的代码以减小大小

猜你在找的Android相关文章