要获取 AVFrame 中音频数据的大小,可以使用下面的代码片段:
int getAudioDataSize(const AVFrame* frame) {
int dataSize = av_samples_get_buffer_size(NULL, frame->channels, frame->nb_samples,
static_cast<AVSampleFormat>(frame->format), 0);
return dataSize;
}
其中,frame
是一个指向 AVFrame 结构体的指针。这个函数将返回音频数据的大小(以字节为单位)。请注意,这个函数假设音频数据是以 frame->format
指定的采样格式存储在缓冲区中的,并且未经任何编码压缩。
如果你需要更多关于 AVFrame 的操作和属性信息,请参考 FFmpeg 官方文档:https://ffmpeg.org/doxygen/3.4/group__lavu__frame.html
内容由零声教学AI助手提供,问题来源于学员提问