0
我想記錄一下是剛打出來的揚聲器使用以下ALSA的API:使用ALSA,如何使用麥克風錄製它通過揚聲器播放的內容?
snd_pcm_mmap_writei()
snd_pcm_mmap_readi()
這兩個函數被調用一個在同一個線程未來。 writei()函數快速返回(我相信一旦播放緩衝區可用,它就會返回),而readi()返回,直到捕獲指定的樣本。但是捕獲的樣本不是剛剛發佈的樣本。我猜測ALSA不處於雙工模式,即它必須先完成回放,然後開始記錄,記錄沒有意義,但只是點擊。揚聲器仍能正確播放聲音。
所有硬件/軟件參數設置正確。如果我只做音頻捕捉,我會得到一個很好的聲波。 PCM手柄以正常模式打開(不是非塊,不是異步)。
有人有建議如何使這項工作?
您必須配置您的聲音硬件才能將播放設備的聲音傳送回捕捉設備。你做了這個了嗎? –
我的目的是測試我的揚聲器是否正常工作,所以我必須捕捉聲音中的聲音。因此,從回放到捕獲的環回未設置。 –
你爲什麼在同一個程序中這樣做?你不能只運行'aplay'和'arecord'? –