При использовании Python Sounddevice, есть ли способ определить аппаратный идентификатор данного устройства в списке устройств sounddevice?

У вас есть вопрос по Python Sounddevice здесь...

Вопрос:

 "When using Python Sounddevice, is  there any way to determine the hardware 
 ID of a given device in sounddevice's  devices list ?"

Зачем мне это делать?

Предыстория:

Ситуация такова, что у меня есть около 12 устройств Android, на которых мне нужно выполнить несколько автоматических тестов, причем большая часть автоматизации обрабатывается скриптами Python через задания Jenkins. Проблема заключается в том, что во время тестирования эти андроид устройства могут работать нестабильно и должны быть выключены. Использование множества переключателей / разветвителей, управляемых по Wi-Fi/USB, позволяет довольно просто отключить питание этих устройств, но, к сожалению, когда они выключены, их можно включить только через механическую кнопку питания или ИК-пульт дистанционного управления. Решение, которое я сейчас ищу, состоит в том, чтобы использовать один из этих 3,5-мм аудиоразъемов с ИК-светодиодами (как правило, предназначен для использования в смартфоне, поэтому его можно использовать в качестве универсального пульта дистанционного управления), подключенного к дешевой звуковой карте USB стоимостью ~ $ 3.... по одному на каждый из телевизоров. Таким образом, для 12 устройств с Android у меня будет 12 звуковых карт USB той же модели, подключенных к подчиненному устройству Jenkins, на котором запущена автоматизация. У меня есть инструкции по захвату и очистке сигнала ВКЛ / ВЫКЛ с универсального пульта дистанционного управления и превращению его в соответствующий файл wav, так что это, вероятно, не проблема, и я смог успешно настроить таргетинг на отдельное устройство вывода звука из списка sounddevice устройства. К сожалению, названия звуковых карт одинаковы, поэтому я по сути не знаю, какой индекс устройства ведет к какому устройству Android.

Поэтому я думаю, что моя конечная цель - от сценария на python, чтобы можно было воспроизводить определенный файл wav через конкретное устройство вывода звука на коробке Ubuntu, к которой подключено 5 - 12 идентичных звуковых карт USB. Хотя мне нравится простота Sounddevice, я в конечном счете не привязан к его использованию, если есть лучший / более эффективный подход *. Я бы очень хотел настроить это так, чтобы переопределяющий скрипт мог правильно связать аудиоинтерфейсы с целевыми устройствами Android, даже если перезагружается подчиненное устройство Jenkins и / или по каким-то причинам меняются номера индекса Sounddevice.

Любая информация или предложения с благодарностью!

    • Я также понимаю, что мог бы также написать и для каждого полного набора тестов запустить скрипт / метод "калибровки", который в конечном итоге выясняет, что происходит, проверяя все устройства, запуская включение / выключение wav на заданном интерфейсе, а затем проверяя, чтобы увидеть какое устройство просто исчезло, последовательно через весь список интерфейсов, но я надеюсь найти более точное решение.

0 ответов

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