【发布时间】:2014-12-01 16:28:17
【问题描述】:
我正在将一个音频播放器项目从 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 在 android.media.MediaCodec.dequeueOutputBuffer(本机方法) 在 com.google.android.exoplayer.MediaCodecTrackRenderer.drainOutputBuffer(MediaCodecTrackRenderer.java:720) 在 com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.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) 在 android.os.Looper.loop(Looper.java:157) 在 android.os.HandlerThread.run(HandlerThread.java:61) 在 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 流。还有其他我应该查看的渲染器/编码器吗?
谢谢你, 大卫
【问题讨论】:
标签: android audio-streaming aac vitamio exoplayer