在 C 中使用 ALSA 以不同的音量播放多个 wav 文件
Posted
技术标签:
【中文标题】在 C 中使用 ALSA 以不同的音量播放多个 wav 文件【英文标题】:Playing multiple wav files using ALSA in C with different volumes 【发布时间】:2013-01-20 17:54:47 【问题描述】:我需要使用 ALSA 库 C 接口播放超过 2 个 wav 文件。每个文件应该以不同的音量播放,但应该可以同时播放。我在带有 sgtl5000 设备的板上使用嵌入式 linux。我只有一个播放设备条目作为 pcm0p。请让我知道如何以不同的音量一起播放多种声音。如果您需要更多详细信息,请告诉我。 提前致谢
【问题讨论】:
【参考方案1】:如果 ALSA 库已使用 dmix
插件编译,只需为每个文件打开名为 plug:dmix
的设备。
【讨论】:
如果不是(或者无法重新编译 alsa),我对this 问题的回答概述了软件混合的通用方法。 您好,感谢您的快速回复。我可以为每个文件打开设备“plug:dmix”,并且可以同时播放多个声音。有没有办法在 ALSA 中设置单独播放每个文件的音量(同时播放它们)? 没有为此预定义的插件。只需在将样本写入设备时更改样本即可。以上是关于在 C 中使用 ALSA 以不同的音量播放多个 wav 文件的主要内容,如果未能解决你的问题,请参考以下文章