我从HTTP服务器获取AAC流,并将其用作Android中MediaPlayer
的数据源。
它播放完美,但是当我尝试执行mediaPlayer.seekTo(int position)
时,我得到的错误大约有一百万次:
WARN/AACDecoder(13889): AAC decoder returned error -1, substituting silence
WARN/AACDecoder(13889): AAC decoder returned error 10, substituting silence
WARN/AACDecoder(13889): AAC decoder returned error 1, substituting silence
此错误发生在Android 2.2上,但它似乎也不适用于早期版本。 在我的应用程序中,支持搜索是必须的,我希望它适用于Android 1.5 - 2.2。
对于如何在AAC流中寻找是否有任何好的解决方案?
答案 0 :(得分:1)
您无法寻求服务的流。服务器如何处理这个?
即使您保存字节,原始AAC流也是不可搜索的(它们不包含搜索信息)。一些媒体播放器通过解析整个文件并在每次加载时动态索引它来解决这个问题。更好的解决方案是将流重新打包到容器中,如MP4。以下是使用MP4Box的示例:
MP4Box -add raw_stream.aac -new output_file.mp4