根据安卓中的状态图,MediaPLayer将在prepare之后启动。我计划实现一个应用程序,必须接收最低限度的内容和播放器启动。但是播放器在准备阶段等待收到完整的内容。
示例:内容总长度: 10kb,计划缓冲区达到2kb时启动播放器,即播放器等待2kb的缓冲区准备好,必须启动播放器。
算法:1.开始从服务器加载内容2.如果准备好缓冲区2kb,则启动播放器,否则向用户显示旋转进度(n/w延迟)3.重复2,直到全部内容达到10kb。
我能用MediaPLayer实现上述算法吗?
发布于 2012-09-07 01:28:32
你不能用MediaPlayer做到这一点,因为它完全控制了它缓冲的量,然后才表明它是“准备好的”。
如果您有可用的PCM数据,则可以按照您的指示使用AudioRecord类进行播放。否则,如果您可以针对Jelly Bean (谁已经可以这样做了!),您可以使用新的MediaCodec应用编程接口。
https://stackoverflow.com/questions/12275093
复制相似问题