作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试编码
音频数据:
通过 MediaCodec
到一些 AAC
编解码器配置有点困惑,但到目前为止我至少没有出错。
codec = MediaCodec.createEncoderByType("audio/mp4a-latm");
MediaFormat format = new MediaFormat();
format.setString(MediaFormat.KEY_MIME, "audio/mp4a-latm");
format.setInteger(MediaFormat.KEY_CHANNEL_COUNT, 1);
format.setInteger(MediaFormat.KEY_SAMPLE_RATE, 44100);
format.setInteger(MediaFormat.KEY_BIT_RATE, 1*44100*16);
format.setInteger(MediaFormat.KEY_AAC_PROFILE, MediaCodecInfo.CodecProfileLevel.AACObjectHE);
codec.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
这只是我的猜测,如果您发现错误,请告诉我。
KEY_CHANNEL_COUNT
= 1对应音源属性:Monoral Channel = 1
,
KEY_SAMPLE_RATE
= 44100 到音频源属性:Sample rate = 44100 Hz
,
并且由于音频源属性是 PCM_16BIT,KEY_BIT_RATE
应该是 1*44100*16
。
我说的对吗?我试图找到文档,但无法在网上找到。谢谢。
最佳答案
对于编码器,KEY_BIT_RATE
指的是所需的输出 比特率,而不是输入 比特率。官方文档是here ,但描述有点简洁。
中旅EncoderTest编码音频。内容不多,但具有基本要素。
关于android - 如何确定 Android MediaFormat.KEY_SAMPLE_RATE 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21805627/
我正在尝试编码 音频数据: 采样率 = 44100 赫兹 单 channel PCM_16BIT 通过 MediaCodec 到一些 AAC 编解码器配置有点困惑,但到目前为止我至少没有出错。
我是一名优秀的程序员,十分优秀!