我正在尝试在MediaPlayer中播放电台时录制在线流媒体(广播电台)。
由于android没有提供任何方式来记录来自MUSIC源的音频(正如我们为MIC,VOICE_UPLINK等所做的那样)。
所以我在我的应用程序中创建了一个本地Web服务器,并将该本地URL提供给MediaPlayer以播放站点流。
在我的本地网络服务中,我做了以下操作:
从原始流网址打开网址连接。
创建读缓冲区。原始流URL(比特率/ 8)例如比特率= 128 kbps,因此缓冲区大小为((128/8)* 1024),即16 KBps。
获取输入流,从流中读取字节并写入Web服务的输出流。
MediaPlayer播放流媒体没有任何问题。但是当我录制音频时,录制的起始点是错误的(例如,如果我从5:15分钟录制音频,则录制从5:20分钟开始,5秒音频数据丢失),随着播放时间的增加,这种差异也会增加。
简而言之:我遇到了MediaPlayer快速下载速度和播放速度慢的问题。
创建读缓冲区大小是否有误?如何匹配MediaPlayer的下载和播放速度?