如何在Linux上使用带有ffmpeg的C ++录制来自USB音频设备的音频? 我有以下代码。但我不知道如何设置' url'的参数。在avformat_open_input的功能。 可以由任何人提供帮助吗?非常感谢。
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 }
答案 0 :(得分:0)
您是否阅读过this解复音和视频解码的示例?通过仅使用音频部分并过滤掉您不需要的内容,您应该能够录制音频。
另外,执行
时会得到什么arecord -l
在终端?鉴于你得到像
这样的东西card x: USB audio
尝试给出&#34; hw:x&#34;作为输入,其中x是arecord -l命令给出的卡号。在我的情况下,USB麦克风是卡1,所以我给&#34; hw:1&#34;作为FFmpeg的输入。