提供されているほとんどのドキュメントを読んだ後でも、ALSA アーキテクチャを理解していないようです。
snd_device_name_hint() と snd_device_name_get_hint() を使用して、利用可能なすべての ALSA デバイスを一覧表示します。これは、特に hwdep クラスの下に「パルス」をリストしているため、私のシステムで PulseAudio が利用できるようです。しかし、snd_pcm_open() (ノンブロッキング モードで、in または out のいずれか) で開こうとすると、「そのようなファイルまたはディレクトリはありません」というメッセージが表示されます。
何を与える?他のデバイスを開くことができます。たとえば、内蔵の Intel チップは正常に動作しますが、PulseAudio はなぜ動作しないのですか?