java - 使用 MediaCodec 进行压缩

标签 java android android-mediaplayer encryption

我正在使用 mediaCodec API 压缩媒体文件(解码和编码), 我正在使用大小为 4MB(YUV 格式)的解码器对其进行解码。

当我尝试将此解码文件排队到编码器时,我收到非法状态异常。后来我发现原因是编码器输入缓冲区没有所需的缓冲区大小。有没有人可以解决这个问题?

最佳答案

默认输入缓冲区大小为 112 KB,因此,如果解码器输出的大小大于此大小,则应手动修复此问题。通过设置这个常量MediaFormat.KEY_MAX_INPUT_SIZE

关于java - 使用 MediaCodec 进行压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501005/

相关文章:

android - 在 android 中,当方向改变时,背景图像不会改变

java - 如何在 ERROR 日志级别模式下运行 mongodb 实例?

java - 无法打开从 URL 下载到 Android 模拟器的 doc 或 docx 文件

java - gRPC——在 Protobuf 中将 .png 图像从 Java 客户端发送到 Python 服务器

Java URLConnection 整数问题

java - 如何将 Base64 blob 字符串转换为 android 中的图像?

android - 如何使应用程序响应所有 Android 设备?

Android:无法找到 QCMediaPlayer

java - 如何获得比特率,采样率和没有。 android中音频文件的 channel 数

Android:有没有办法在播放当前 mp3 时缓冲后面的 mp3 文件?