gpt4 book ai didi

c++ - 如何在 Linux 上使用 C++ 和 ffmpeg 从 USB 音频设备录制音频?

转载 作者:太空宇宙 更新时间:2023-11-04 12:24:47 26 4
gpt4 key购买 nike

如何在 Linux 上使用 C++ 和 ffmpeg 从 USB 音频设备录制音频?我有以下代码。但是我不知道如何在avformat_open_input 的函数中设置'url' 的参数。任何人都可以提供帮助吗?非常感谢。

   27     av_register_all();
28 avdevice_register_all();
29
30 //pAudioInputFmt =av_find_input_format("dshow");
31 pAudioInputFmt =av_find_input_format("alsa");
32 //assert(pAudioInputFmt != NULL);
33 if (!(pAudioInputFmt != NULL))
34 {
35 printf("Error %s %d\n", __FILE__, __LINE__);
36 char ch = cin.get();
37 cout << "ch = "<< ch << endl;
38 return (-1);
39 }
40
41 // I have no idear how to set the second parameter on Linux.
42 if (!(avformat_open_input(&pFmtCtx, "=Device)", pAudioInputFmt,NULL) == 0))
43 {
44 printf("Error %s %d\n", __FILE__, __LINE__);
45 system("pause");
46 return (-1);
47 }

最佳答案

你读过this吗?解复用和解码音频和视频的例子?通过仅使用音频部分并过滤掉不需要的部分,您应该能够录制音频。

还有,执行的时候会得到什么

arecord -l

在终端?假设你得到类似的东西

card x: USB audio

尝试将“hw:x”作为输入,其中 x 是 arecord -l 命令给出的卡片编号。在我的例子中,USB 麦克风是卡 1,所以我将“hw:1”作为 FFmpeg 的输入。

关于c++ - 如何在 Linux 上使用 C++ 和 ffmpeg 从 USB 音频设备录制音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45074066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com