0

バッファから値をストリーミングしようとしていますが、これらの値は正弦波関数によって生成されています

値をドライバーに送信しようとすると、この関数を使用する必要があります

snd_pcm_sframes_t snd_pcm_writei(snd_pcm_t *pcm, const void *buffer,
                             snd_pcm_uframes_t size)

私にとっての問題は、 const void *buffer を理解していないことです

バッファ内の値をループするように for ループを設定しました。次に、バッファ内の各値をサウンドドライバに送信しようとする次の方法があります

frames = snd_pcm_writei(handle, buffer[i], sizeof(buffer));

しかし、それはconst voidを扱うためにエラーを出します - それは私に「buffer [i]」ではなく「buffer」を鳴らすだけですノイズどうすればこれを回避できますか??? 助けてくれてありがとう

4

2 に答える 2

0

buffer[i]の代わりに&buffer[i]使用し、正しいサイズのデータ​​を渡す必要があります。とにかくバッファはどのように定義されていますか?

于 2013-06-06T13:30:32.947 に答える