ffmpeg는 avframe에서 pcm 데이터를 파일에 저장합니다
5067 단어 C 언어
data_size = av_get_bytes_per_sample(dec_ctx->sample_fmt);
if (data_size < 0) {
LOGI("get size error");
return -1;
}
LOGI("audio frame size:%d---%d---%d", data_size, frame->nb_samples, frame->sample_rate);
frameBufferSize = frame->nb_samples*data_size*dec_ctx->channels;
if (frameBuf==NULL)
{
frameBuf= static_cast<unsigned char *>(malloc(
static_cast<size_t>(frameBufferSize)));
}
sum=0;
for (i = 0; i < frame->nb_samples; i++)
{
for (ch = 0; ch < dec_ctx->channels; ch++)
{
memcpy(frameBuf+sum, frame->data[ch] + data_size*i,
static_cast<size_t>(data_size));
sum+=data_size;
}
}
만약 당신에게 도움이 된다면 좋아요!!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.