请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

mac录制的pcm,使用44100 s16le 2channel参数播放时有杂音

将每次读的4096个字节写进文件,播放的时候很大的杂音

char *out = "audio.pcm";
FILE *outFile = fopen(out, "wb+");
while (((ret=av_read_frame(fmt_ctx, &pkt))==0||ret==-35)&&status==1) {
    if(ret==-35) {
        continue;
    }
    av_log(NULL, AV_LOG_INFO,
           "packet size is %d(%p)\n",
           pkt.size, pkt.data);
    fwrite(pkt.data, pkt.size, 1, outFile);
    fflush(outFile);
    av_packet_unref(&pkt);
}

fclose(outFile);

正在回答 回答被采纳积分+3

1回答

李超 2021-08-13 12:54:04

你有测试你的音频参数的具体值吗?你可以加入课程QQ群,看一下公告

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_不弃_6 #1
    Input #0, avfoundation, from ':0':
      Duration: N/A, start: 87778.057846, bitrate: 2822 kb/s
      Stream #0:0: Audio: pcm_f32le, 44100 Hz, stereo, flt, 2822 kb/s
    这个是系统的参数,然后我用
    ffplay -ar 44100 -ac 2 -f s32le  audio.pcm播放,但是还是有杂音,是不是我的参数有问题
    回复 有任何疑惑可以回复我~ 2021-08-13 18:26:06
  • 李超 回复 提问者 qq_不弃_6 #2
    已经找到问题原因了吧?
    回复 有任何疑惑可以回复我~ 2021-08-13 20:50:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信