ALSA:播放声音时在c代码中使用插件

时间:2017-09-22 17:49:35

标签: audio alsa

我正在播放包含this等c代码的wav声音文件。它使用所有API:

snd_pcm_*

我想使用均衡器插件:

libasound_module_ctl_equal.so, libasound_module_pcm_equal.so

在“libasound2-plugin-equal”

中找到

如何从c代码集成并调用Alsa插件?

2 个答案:

答案 0 :(得分:0)

你需要让它成为alsa链的一部分,例如〜/ .asoundrc add

pcm.plugequal {
    type equal;
    slave.pcm "plughw:0,0";
}

pcm.!default {
    type plug;   
    slave.pcm plugequal;  
}

您可以使用该命令播放声音文件

aplay some.wav

对于Ctl设备,您可以在〜/ .asoundrc

中添加以下内容
ctl.!default {
    type equal;
}

你可以打电话 命令alsamixer

答案 1 :(得分:0)

我想象的答案更简单:

snd_pcm_open(&pcm_handle, "equal", SND_PCM_STREAM_PLAYBACK, 0) < 0);

您可以使用正确的默认文件集将插件名称传递给snd_pcm_open。