我正在播放帶有一些c代碼的wav聲音文件,例如this。它使用所有API:ALSA:在播放聲音時使用c代碼插件
snd_pcm_*
我想用均衡器插件:
libasound_module_ctl_equal.so, libasound_module_pcm_equal.so
在「的libasound2-插件平等」
發現如何集成和調用艾莎插件從C代碼?
我正在播放帶有一些c代碼的wav聲音文件,例如this。它使用所有API:ALSA:在播放聲音時使用c代碼插件
snd_pcm_*
我想用均衡器插件:
libasound_module_ctl_equal.so, libasound_module_pcm_equal.so
在「的libasound2-插件平等」
發現如何集成和調用艾莎插件從C代碼?
答案是簡單的,我想象:
snd_pcm_open(&pcm_handle, "equal", SND_PCM_STREAM_PLAYBACK, 0) < 0);
您可以通過插件的名稱與正確的設置默認文件來snd_pcm_open。
你需要使它ALSA鏈例如部分在〜/ .asoundrc添加
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中
我想在C代碼中做到這一點。不在命令行中。 – gregoiregentil