匿名
未登录
登录
百问网嵌入式Linux wiki
搜索
查看“How to record audio”的源代码
来自百问网嵌入式Linux wiki
名字空间
页面
讨论
更多
更多
页面选项
Read
查看源代码
历史
←
如何录制音频
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{DISPLAYTITLE:如何录制音频}} =如何录制音频= ==文章目的== : 本文介绍如何通过具备内核音频 ALSA 的音频框架的 Linux® 操作系统环境录制音频。以下示例显示了如何从 STM32MPU 板载的不同音频硬件接口录制音频。 ==概述== : ALSA 框架公开了与板音频硬件接口关联的音频设备。 : 默认情况下,应用程序音频流通过PulseAudio声音服务器进行路由。PulseAudio公开音频配置文件,这些配置文件映射在ALSA声卡音频设备上。PulseAudio服务器提供了一个命令行界面来列出相应的音频配置文件并进行选择,以便从特定的音频接口进行录制。 : 以下各节中的音频记录示例均基于 ALSA 实用程序。一些输入路径是通过 ALSA 控件配置的。声卡配置文章中详细介绍了这些配置。如果在运行示例时发出错误,请参阅音频故障排除文章以进行调试。 ==例子== ===来自耳机麦克风输入的音频记录=== ====从 ALSA 设备记录==== : 从 “record_codec” ALSA 设备开始音频记录: : 注意:“record_codec” 是在 /etc/asound.conf 中定义的别名,用于耳机麦克风输入设备。 <syntaxhighlight lang="bash"> Board $> arecord -D record_codec -f S16_LE -d 10 /tmp/rec.wav </syntaxhighlight> ====通过 PulseAudio 录制=== =====对于生态系统版本 ≥ v1.2.0 ===== : 配置Pulseaudio: :: 将Pulseaudio的默认输入源更改为'analog_input': :: 注意:Pulseaudio模拟输入在/etc/pulse/system.pa配置文件中定义。 <syntaxhighlight lang="bash"> Board $> pacmd set-default-source analog_input </syntaxhighlight> : 开始录音: : 注意:Pulseaudio设备是默认设备,因此在记录命令中可以省略 “-D pulse” 选项。 <syntaxhighlight lang="bash"> Board $> arecord -d 10 /tmp/rec.wav </syntaxhighlight> =====对于生态系统版本 ≤ v1.1.0 ===== ===来自数字麦克风输入的音频记录=== : 注意:数字麦克风输入的支持取决于电路板。请使用“ arecord -l ”命令检查可用的输入。 ==从ALSA设备记录==== : 从 “record_dfsdm0” ALSA设备开始单声道音频记录: : 注意:“record_dfsdm0”是在/etc/asound.conf中定义的别名,用于数字麦克风 U1 输入设备。 <syntaxhighlight lang="bash"> Board $> arecord -D record_dfsdm0 -r 16000 -f S32_LE -c 1 -d 10 /tmp/rec.wav </syntaxhighlight> ====从虚拟ALSA设备录制多个数字麦克风==== 从“多个” ALSA设备开始立体声音频记录: : 注意:基于 ALSA 多重插件[1 ]的 “多重”设备必须在 /etc/asound.conf 文件中定义。 <syntaxhighlight lang="bash"> Board $> arecord -D multi -r 16000 -f S32_LE -c 2 -d 10 /tmp/rec.wav </syntaxhighlight> ====通过 PulseAudio 录制==== : 通过 Pulseaudio 进行的记录仅适用于 v1.2.0 或更高版本的生态系统 。 : 配置 Pulseaudio : 将 Pulseaudio 的默认输入源更改为 “dmic1_input”: : 注意:Pulseaudio dmic1_input 在 /etc/pulse/system.pa 配置文件中定义。 <syntaxhighlight lang="bash"> Board $> pacmd set-default-source dmic1_input </syntaxhighlight> : 开始录音: : 注意:Pulseaudio 设备是默认设备,因此在记录命令中可以省略 “-D pulse” 选项。 <syntaxhighlight lang="bash"> Board $> arecord -r 48000 -f S32_LE -c 2 -d 10 /tmp/rec.wav </syntaxhighlight> ===来自 S/PDIF 输入的音频记录=== : 注意:S/PDIF 输入的支持取决于开发板的硬件支持。使用“ arecord -l ”命令检查可用的输入。 ====从 ALSA 设备记录==== : 从“ record_spdif” ALSA设备开始音频记录: : 注意:'record_spdif'是在 /etc/asound.conf 中为 S/PDIF 输入设备定义的别名。 : 注意:在开始记录命令之前,S/PDIF RCA 输入连接器上必须有 S/PDIF 信号。 记录速率必须根据 S/PDIF 信号采样速率进行设置。 <syntaxhighlight lang="bash"> Board $> arecord -D record_spdif -f S32_LE -c 2 -r 48000 -d 10 /tmp/rec.wav </syntaxhighlight> ====通过 PulseAudio 录制==== : 通过 Pulseaudio 进行的记录仅适用于 v1.2.0 或更高版本的生态系统 。 : 配置 Pulseaudio : 将 Pulseaudio 的默认输入源更改为 “iec958_input”: : 注意:Pulseaudio iec958_input 在 /etc/pulse/system.pa 配置文件中定义。 <syntaxhighlight lang="bash"> Board $> pacmd set-default-source iec958_input </syntaxhighlight> : 开始录音: : 注意:Pulseaudio 设备是默认设备,因此在记录命令中可以省略 “-D pulse” 选项。 <syntaxhighlight lang="bash"> Board $> arecord -r 48000 -f S32_LE -c 2 -d 10 /tmp/rec.wa </syntaxhighlight> ==参考== : [https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html%7C ALSA PCM插件] [[Category:Linux_Operating_System]] [[Category:Audio]] [[Category:ALSA]]
返回至
如何录制音频
。
导航
导航
WIKI首页
官方店铺
资料下载
交流社区
所有页面
所有产品
MPU-Linux开发板
MCU-单片机开发板
Linux开发系列视频
单片机开发系列视频
所有模块配件
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志