0

根据android中的状态图,MediaPLayer会在prepare后启动。我计划实现一个应用程序,它必须接收最少的内容和播放器才能开始。但是播放器正在等待,直到在准备阶段收到完整的内容。

例如:总内容长度:10kb,计划在缓冲区达到2kb时启动播放器。即播放器等待2kb缓冲区准备好并必须启动播放器。

算法: 1.开始从服务器下载内容 2.如果准备好缓冲区 2kb,则启动播放器,否则向用户显示旋转进度(n/w 延迟) 3.重复 2 直到完整内容 10kb 到达。

我可以用 MediaPLayer 实现上述算法吗?

4

1 回答 1

0

您不能使用 MediaPlayer 执行此操作,因为它在指示它“准备好”之前完全控制它的缓冲量。

如果您有可用的 PCM 数据,则可以按照您的指示使用AudioRecord类进行播放。否则,如果您可以以 Jelly Bean 为目标(谁已经可以做到了!),您可以使用新的MediaCodec API。

于 2012-09-06T17:28:31.720 回答