我们正在使用
MediaPlayer
来流式传输mp3音乐,该音乐首先会被缓存到本地文件中,然后通过localserver进行流式传输。这种方式在任何Android版本大于1.6的设备上都非常好用,直到索尼爱立信Xperia X10升级到Android 2.3.3之后。突然之间,只有该设备和Android 2.3.3版本的系统无法正常进行音频流媒体传输。
MediaPlayer
偶尔会出现错误(100,0),但大部分情况下它会停止在MediaPlayer.prepareAsync()
方法上。经过调查发现,问题是由以下原因引起的:“java.net.SocketException: Connection reset by peer”
这指向以下行:
outstream.write(buffer, skipFirst, length);
顺便提一下,在出现异常之前成功执行了2次
这段代码相当复杂,所以很难在这里提供它,但如果需要,我可以提供更多信息。
由于某些原因,MediaPlayer
在我们开始填充内容时就关闭了连接。另外,似乎相当奇怪的是,有时(1/20)MediaPlayer
成功播放音乐。
有什么想法吗?