首页 > 解决方案 > 带有视频解码器的 MediaCodec 错误 0xffffff3

问题描述

我正在使用 MediaCodec 在 android 上压缩带有音频的视频。当我在 try/catch 中运行代码时,除了音频的最后一部分丢失之外,输出视频很好。

我不得不重写代码并将其转换为 Kotlin,但到目前为止没有任何效果。我在这里看到了一些类似的问题,但错误代码略有不同,因为它更多的是音频问题,而这看起来像是视频提取的问题。

这是发生错误的代码。这条线videoDecoder.queueInputBuffer正是崩溃。

videoExtractorDone = !videoExtractor.advance()
    if (videoExtractorDone) {
        if (false) Log.d(TAG, "video extractor: EOS")
            videoDecoder.queueInputBuffer(decoderInputBufferIndex, 0, 0, 0, videoDecoderOutputBufferInfo.flags)
    }

如何解决此问题以使剪辑具有完整的音频?我不能丢失此过程中的任何音频。

标签: androidkotlinandroid-mediacodec

解决方案


推荐阅读