首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >背景& Buffering & MediaStreamSource

背景& Buffering & MediaStreamSource
EN

Stack Overflow用户
提问于 2012-02-01 19:35:31
回答 2查看 845关注 0票数 0

我已经创建了一个MediaStreamSource来解码一个实时的互联网音频流,并将它传递给BackgroundAudioPlayer。这在设备上现在运行得很好。不过,我现在想实现某种形式的缓冲控制。目前,所有的工作都很好的无线局域网-然而,我担心,在现实情况下,通过移动运营商网络,将有许多削减在流中。我想知道的是,是否有人对如何最好地实现缓冲有任何建议。

  • 本身是否在开始播放之前就建立了某种缓冲区?如果有必要,是否可以增加它的大小?
  • 是否可以在采样时设置一些缓冲区来帮助缓冲,还是只需要在从网络中检索流并在取样之前在其中建立大量的存储缓冲区。

其他人对这个问题采取了什么办法?谢谢你,布莱恩

EN

回答 2

Stack Overflow用户

发布于 2012-02-02 01:50:51

我看到的一种方法是让两个流程管理流。第一个获取流并在隔离存储中写入一系列顺序编号的文件。第二个读取文件并播放它们。

显然,这是一个非常简单的描述,但希望您能理解。

票数 1
EN

Stack Overflow用户

发布于 2012-02-02 20:00:21

我不知道使用MediaStreamSource会如何影响这一点,但从使用简单的背景音频播放器代理直接从远程MP3文件或MP3实况广播流中获得的经验来看:

  • 播放机在开始播放您的音乐之前确实会建立一个从服务器接收的数据缓冲区。
  • 您无法控制这个缓冲区的大小或填充该缓冲区所需的时间(在某些情况下,它需要超过一分钟的缓冲时间)。如果您失去连接或带宽太低,在流启动后缓冲区被清空,则
  • 一旦开始播放,则不会尝试重新缓冲音频,这样你就可以完全失去音频,或者它可以被切断。

  • ,你也不能控制它。

实现Matt的答案中的建议解决了这一问题,允许您控制缓冲,并将下载和播放整齐地分开。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9102054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档