我正在将一个音频播放器项目从 Vitamio 移植到 ExoPlayer。我已经能够让它工作,除了我有两个无法播放的音频源。它们与其他可以完美播放的样本之间没有明显的区别。问题不在于样本长度,因为运行时间很长的样本也会播放。以下是示例文件的链接:
http://s3.amazonaws.com/instarad_audio/20/208888/index.m3u8 http://s3.amazonaws.com/instarad_audio/20/208237/index.m3u8
这是错误-->
java.lang.IllegalStateException 在 com.google.android.exoplayer.MediaCodecTrackRenderer.drainOutputBuffer(MediaCodecTrackRenderer.java:720) 在 com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer) 的 android.media.MediaCodec.dequeueOutputBuffer(Native Method) .java:420) 在 com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:398) 在 com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203) 在 android.os.Handler。 dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:157) at android.os.HandlerThread.run(HandlerThread.java:61) at com.google.android.exoplayer.util.PriorityHandlerThread .run(PriorityHandlerThread.java:40)
11-27 17:50:05.423 28529-28571/com.google.android.exoplayer.demo E/OMXNodeInstance﹕缓冲区 h 的 OMX_FreeBuffer
我将这些样本创建为 TYPE_HLS_MEDIA,使用 AUDIO_AAC 编码或 VIDEO_H264。
我最好的猜测是这些样本是以不寻常的采样率记录的,或者它们以某种方式损坏。
所有样本都将通过 .m3u8 格式编码为 AAC 流。还有其他我应该查看的渲染器/编码器吗?
谢谢你,大卫