Как получить доступ к звуковому устройству с помощью современных библиотек?

Раньше считалось, что если вы хотите протестировать свой звук, вы можете просто записать любой файл в /dev/snd , но он, похоже, не работает ни на одной из систем (Debian / Ubuntu / Mint, Arch), которые у меня есть пытался.

Из того, что я читал, это может быть любой файл – текст, pdf, что угодно. И если это WAV-файл, тогда он будет играть музыку.

Итак, как вы можете сделать то же самое в современных системах (например, с использованием импульсных аудио и других драйверов)

Из моих тестов, aplay работает:

 aplay <filename> 

Когда я сделал

 aplay test.html # a simple html file 

Я устал.

 aplay something.wav 

Воспроизведение музыки в wav-файле. И в причудливом твисте, файл, содержащий это:

 Fri Jan 13 08:20:01 CST 2012 Fri Jan 13 08:21:01 CST 2012 Fri Jan 13 08:22:01 CST 2012 Fri Jan 13 08:23:01 CST 2012 Fri Jan 13 08:24:01 CST 2012 Fri Jan 13 08:25:01 CST 2012 Fri Jan 13 08:26:01 CST 2012 Fri Jan 13 08:27:01 CST 2012 Fri Jan 13 08:28:01 CST 2012 Fri Jan 13 08:29:01 CST 2012 Fri Jan 13 08:30:01 CST 2012 Fri Jan 13 08:31:01 CST 2012 Fri Jan 13 08:32:01 CST 2012 Fri Jan 13 08:33:01 CST 2012 

Делает нежный "звуковой сигнал"

Если ваша цель состоит в том, чтобы передавать произвольные данные из файла на вашу звуковую карту, тогда ваше решение прочное.

Если ваша цель – просто проверить, что ваш звук работает, я бы порекомендовал команду speaker-test . По умолчанию он играет по статическому по одному каналу. В системах на базе Debian это происходит из alsa-utils .