有谁知道android播放器缓冲的原理呢?我的意思是,android的mediaPlayer在播放流媒体文件时,它是一个什么样的缓冲机制呢?我在线播放一首7m的歌曲,等待播放器缓冲完以后再拖动seekBar到任何地方它都不再缓冲了,可以直接播放,那么它肯定将这些音频数据缓存在了内存中,我想知道这块内存有多大,假如有一首歌有1G的大小,那么它肯定不可能将1G音频数据都放在内存缓冲区中吧。
如果我想做边听边存,有一种实现方案就是将播放器的数据源指向本地一个文件,该文件是后台线程正在下载的。我不想使用这种方案,想通过代理将播放器请求http拦截,用自己socket请求网络再把请求到的数据转向播放器,在转向播放器之前我做本地保存的工作。这种方式我原理很清楚,但就是如果一个音频文件很大,如果播放进度到了90%后,我再将进度条拖回到10%的位置,那么我想播放器肯定会再次请求网络数据,还会等待加载,因为前一部分缓存肯定被摧毁了,我如果想缓冲完的地方我拖回去的时候直接播放,而不等待加载,这种需求怎么实现呢~~坐等大侠~!献上全部身家!!!百度谷歌我都找了,我想要各位的思路~很有挑战性噢~