Пробелы позволяются в URL, таким образом, можно просто использовать "/о нас" в ссылке (хотя это будет закодировано к "/about%20us". Но будьте честны, это всегда будет персональным предпочтением, таким образом, не будет никакого реального ответа, который будет дан здесь.
я пошел бы с соглашением, которое тире могут появиться в словах, таким образом, пробелы должны быть преобразованы в подчеркивания.
Используйте snd_ctl_next для итерации над всеми устройствами, затем snd_ctl_open для получения информации об устройстве - это не то же самое, что snd_pcm_open, который может выйти из строя, если в другой программе устройство открыто, или если у вас плохие настройки.
Это довольно плотно, но вот некоторый открытый код, который итерует над всеми ALSA устройствами, на которые вы могли бы посмотреть: https://app.assembla.com/spaces/portaudio/git/source/master/src/hostapi/alsa/pa_linux_alsa.c - ищите BuildDeviceList для начала.
Если вы можете выполнить команду оболочки. Тогда aplay - ваш друг.
aplay -l
перечислить все звуковые карты и цифровой звук устройства