Byt*_*der 6 sound pulseaudio alsa audio-recording desktop-recording
我想将本地运行的应用程序的音频输出记录为硬盘上的 mp3 文件。
但是,我只需要录制一个应用程序的音频,最好只录制一个窗口。应忽略来自不同来源的所有其他音频输出。
如何在 Ubuntu 16.04 中实现这一点?
我自己找到了解决方案。它需要pavucontrol(PulseAudio Volume Control)将输入和输出音频流分配给特定的应用程序和音频录制工具,理想情况下可以手动选择其输入设备,包括虚拟设备。为此我选择了录音机。您还需要使用命令行工具创建虚拟音频接收器,pactl以便能够分离音频输出流并独立录制一个应用程序。
首先,您需要设置一个虚拟音频接收器。它充当虚拟音频设备或虚拟音频电缆,无论您如何称呼它。您可以将其设置为一个应用程序的输出设备,并让另一个应用程序将其记录为输入设备。
pactl这可以在使用 PulseAudio 的系统上完成,如下所示:
pactl load-module module-virtual-sink sink_name=sink1
Run Code Online (Sandbox Code Playgroud)
sink1这里只是虚拟设备的任意名称。
其次,我们启动将播放我们想要录制的音频的应用程序。
如果源应用程序允许选择sink1我们之前创建的设备作为音频输出设备,您可以简单地执行此操作并跳到录音部分。
如果源应用程序没有为您提供选择音频输出设备的选项,您必须安装(如果需要:)sudo apt install pavucontrol并启动 Pavucontrol。
然后启动源应用程序并让它播放任何音频。当它发出噪音时,它会出现在PlaybackPavucontrol 的选项卡中。找到其playback on [...]下拉菜单并选择Virtual Sink sink1作为目标设备。您仍然会听到它,因为虚拟接收器也连接到您的标准输出设备,但这没关系。
您现在还可以再次暂停播放并将源应用程序静音,Pavucontrol 将记住配置的播放设备一段时间。
现在启动您的录音软件(对于此任务,我建议使用ppa:audio-recorder/ppaPPA 中的录音机,安装说明请参见此处)。
如果它允许您选择虚拟接收器(或虚拟接收器的监视器)作为要录制的输入设备,请执行此操作。
如果您无法选择输入设备(或者如果仅列出了硬件输入设备,请尝试将其设置为“系统默认”之类的内容),则必须再次使用 Pavucontrol。
让该工具开始记录任何内容。当它正在监听时,它将出现在 Pavucontrol 的Recording选项卡中。找到其from [...]下拉菜单并选择类似Monitor of Virtual Sink sink1输入设备的选项。
您现在也可以再次暂停录制,Pavucontrol 会再次记住配置的输入设备一段时间。
现在源应用程序已将我们的自定义虚拟接收器配置为输出设备,并且我们的录制应用程序正在使用同一接收器(或其监视器)作为输入设备,您终于可以开始录制了。
在此设置中,录音机只会听到源应用程序(实际上是所有将音频输出到我们的虚拟接收器的应用程序,但它应该只是单个应用程序)产生的声音。您可以让任意数量的其他应用程序同时将音频播放到真实的音频输出设备或不同的虚拟接收器,而不会干扰您的录音。
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |