Мы используем MediaPlayer
для потоковой передачи музыки в формате mp3, которая сначала кэшируется в локальный файл, а MediaPlayer - для потоковой передачи через локальный сервер.Он работал довольно хорошо (около 1,5 лет на любых устройствах с Android> 1.6), пока Sony Ericsson 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
удается воспроизводить музыку.
Есть идеи?