Это похоже на ошибку в эмуляторе Сота, когда Android ошибочно определяет поток mp3 как aac. FFmpeg, с другой стороны, правильно определяет поток mp3, как показано ниже
ffmpeg -i file6.ts
Stream #0.1[0x101]: Audio: mp3, 48000 Hz, 2 channels, s16, 192 kb/s
К сожалению, Android считает, что это AAC
INFO/avc_utils(1312): found AVC codec config (320 x 240, Baseline-profile level 3.0)
INFO/ESQueue(1312): found something resembling an AAC syncword at offset 1017
INFO/NuHTTPDataSource(1312): connect to <ip>:<port>/moviets/file6.ts @0
INFO/ESQueue(1312): found AAC codec config (48000 Hz, 7 channels)
INFO/ESQueue(1312): [ 06-26 17:37:17.397 1312:0x550 F/ESQueue ]
INFO/ESQueue(1312): frameworks/base/media/libstagefright/mpeg2ts/ESQueue.cpp:255 \
Should not be here.
Обходной путь должен использовать кодирование AAC. Если вы используете ffmpeg, используйте опцию -acodec libfaac
. Это работает для нашего проекта, потому что мы можем выбирать исходные форматы видео. Впрочем, это не обязательно ваш случай.