我需要播放实时音频流,实际上它是无线电.问题是我还需要管理20分钟的流量缓冲区.据我所知,用android实现起来并不容易.
首先我检查了MediaPlayer,但它没有提供任何缓冲区管理方法.实际上你甚至无法直接设置缓冲区大小.
其次,我尝试使用本地文件管理缓冲区:逐步将流下载到临时文件并切换它们.但是当您想切换到以下文件(在MediaPlayer中更改数据源)时,音频不会连续播放.你可以听到短暂的中断.
最后一个想法是使用流代理.通常它用于在8以下的Android版本中播放流.在流代理中,您创建ServerSocket,从音频流中读取并写入播放器.所以实际上我可以在那里管理缓冲.我可以缓存流并写入MediaPlayer,无论我想要什么.但.它不适用于Android 8.
我得到异常:通过对等java.net.SocketException重置连接:由peer重置连接.MediaPlayer 8不想从套接字读取数据.
因此,我有两个问题:1)实现流缓冲的其他方法是什么?2)如何为Android 8改编StreamProxy?
任何想法都表示赞赏.
谢谢