Как повторно инициализировать аудио Alsa для загрузки нового файла asound.conf

У меня есть приложение музыкального проигрывателя, которое может воспроизводить музыку через встроенный аудиоразъем и гарнитуру Bluetooth с другой конфигурацией asound.conf.

Мне нужно, чтобы одно и то же приложение использовало другой файл asound.conf, когда мне нужно сменить устройство воспроизведения.

На самом деле, как я могу изменить устройство воспроизведения звука из моего приложения c самостоятельно.?

2 ответа

Решение

asound.conf файл читается библиотекой ALSA при первом открытии какого-либо устройства.

В вашем собственном приложении вы можете вызвать snd_config_update(), чтобы перечитать файлы конфигурации.

Если вы хотите повлиять на какое-то другое приложение, которое не можете контролировать, перезапустите его.

На самом деле, snd_config_update() на самом деле не делает то, что я ожидал. Но я обновил некоторые другие конфигурации и пошел другим путем.

я использую snd_pcm_open() с моим именем устройства в качестве одного из аргументов. если в случае отказа одного устройства я снова вызываю ту же функцию с другим устройством воспроизведения, и оно работает.

Другие вопросы по тегам