数据包大小(每数据包 mBytes)或核心音频中 AAC 文件的比特率
Packet size (mBytesPerPacket) or the bitrate for AAC files in Core Audio
我想配置一个具有恒定比特率 AAC 类型的AudioStreamBasicDescription
。
AudioStreamBasicDescription clientFormat = {0};
clientFormat.mSampleRate = 44100.0;
clientFormat.mFormatID = kAudioFormatMPEG4AAC;
clientFormat.mFormatFlags = kMPEG4Object_AAC_Main;
clientFormat.mChannelsPerFrame = 2;
clientFormat.mBytesPerPacket = 0;
clientFormat.mBytesPerFrame = 0;
clientFormat.mFramesPerPacket = 1024;
clientFormat.mBitsPerChannel = 0;
clientFormat.mReserved = 0;
对于mBytesPerPacket
,Apple文档说:
音频数据包中的字节数。指示变量 数据包大小,将此字段设置为 0。对于使用变量的格式 数据包大小,使用 音频流数据包描述结构。
我想把它作为一个常量,所以我必须在那里插入一个非零值(所需的大小),但除了 0 之外的所有内容都失败了。
对此有任何帮助吗?
事实证明,我们可以直接在音频转换器上设置编解码器属性。
所以我做到了:
AudioConverterSetProperty(acRef, kAudioCodecPropertyBitRateControlMode,
sizeof(control_mode), &control_mode);
AudioConverterSetProperty(acRef, kAudioCodecPropertyCurrentTargetBitRate,
sizeof(_bitRate), &_bitRate);
相关文章:
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- 发送固定大小的 UDP 数据包
- pcap_handler回调仅在使用 NPCAP v0.9991 时包含空数据包
- 在 c++ 中解析数据包数据的最佳方法是什么?
- 接受函数在发送数据包时等待
- 如何在 omnet++ 中发送自定义数据包?
- 数据包访问实践
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 德拉吉诺 LG01-S 收到异常数据包并停止工作
- 将数据包从C++服务器发送到NodeJs服务器时出现MessagePack解码错误
- 使用C++将UDP数据包存储在Structure中
- FFmpeg av_read_frame从音频流返回数据包
- 为什么操作系统正在更改我的数据包的指定传出端口
- 是否可以将多个结构作为一个数据包存储在一个函数中,然后传递给其他函数并在那里提取?
- recvfrom 只收到几个数据包,之后它进入等待状态
- 如何调试由 C++ 编写的 npm 数据包
- 使用FFMPEG编写多线程视频和音频数据包
- 数据包大小(每数据包 mBytes)或核心音频中 AAC 文件的比特率
- 如何获取 mp3 音频数据包以在 C/C++ 中流式传输