2017-09-22 59 views
0

我正在播放帶有一些c代碼的wav聲音文件,例如this。它使用所有API:ALSA:在播放聲音時使用c代碼插件

snd_pcm_* 

我想用均衡器插件:

libasound_module_ctl_equal.so, libasound_module_pcm_equal.so 

在「的libasound2-插件平等」

發現如何集成和調用艾莎插件從C代碼?

回答

0

答案是簡單的,我想象:

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

您可以通過插件的名稱與正確的設置默認文件來snd_pcm_open。

0

你需要使它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中

+0

我想在C代碼中做到這一點。不在命令行中。 – gregoiregentil