Как повторно инициализировать аудио Alsa для загрузки нового файла asound.conf
У меня есть приложение музыкального проигрывателя, которое может воспроизводить музыку через встроенный аудиоразъем и гарнитуру Bluetooth с другой конфигурацией asound.conf.
Мне нужно, чтобы одно и то же приложение использовало другой файл asound.conf, когда мне нужно сменить устройство воспроизведения.
На самом деле, как я могу изменить устройство воспроизведения звука из моего приложения c самостоятельно.?
2 ответа
asound.conf
файл читается библиотекой ALSA при первом открытии какого-либо устройства.
В вашем собственном приложении вы можете вызвать snd_config_update(), чтобы перечитать файлы конфигурации.
Если вы хотите повлиять на какое-то другое приложение, которое не можете контролировать, перезапустите его.
На самом деле, snd_config_update() на самом деле не делает то, что я ожидал. Но я обновил некоторые другие конфигурации и пошел другим путем.
я использую snd_pcm_open() с моим именем устройства в качестве одного из аргументов. если в случае отказа одного устройства я снова вызываю ту же функцию с другим устройством воспроизведения, и оно работает.