2

システム内のすべてのキャプチャ デバイスを列挙し (実際には、3 つの Web カメラと「統合された」マイクがあることを知っています)、それらを認識し、それらすべてから同時にキャプチャを開始する C プログラムを作成しています。

snd_device_name_hint() を使用してすべての PCM デバイスを列挙し、次に snd_device_name_get_hint() を使用して「IOID」を決定し、それらがキャプチャをサポートしているかどうかを確認することに成功しました。しかし今、キャプチャできるように、関連するデバイスを snd_pcm_open() で開くにはどうすればよいですか? 多くの変換レートでシステムを過負荷にしたくないので、「hw」インターフェイスを使用したいので、HW がサポートするサンプリング周波数を報告する方法があるかどうかも確認したいと思います。

ありがとうございました!

4

1 に答える 1

5

snd_device_name_hint()は、同じハードウェア デバイスに対して複数のデバイス名を返すことができます (例:plughwおよびhw)。また、単一のハードウェア デバイスに対応しないデバイス ( null、または PulseAudio/Jack/Bluetooth デバイスなど) を返すこともできます。

ハードウェア デバイスを列挙するには、 snd_card_next()andを呼び出しますsnd_ctl_pcm_next_device()(例については、aplay ソース コードを参照してください)。

サンプル レートがサポートされているかどうかを確認するには、 を呼び出しますsnd_pcm_hw_params_test_rate()

于 2013-10-31T09:08:41.057 に答える