#python #vlc
Вопрос:
import vlc
Instance = vlc.Instance(['--no-xlib'])
player = Instance.media_player_new()
output_devices = []
mods = player.audio_output_device_enum()
if mods:
mod = mods
while mod:
mod = mod.contents
output_devices.append(mod.device)
mod = mod.next
print(output_devices)
Когда я запускаю код в ubuntu 20.04, я получаю:
[b'surround21', b'surround40', b'surround41', b'surround50', b'surround51', b'surround71', b'null', b'samplerate', b'speexrate', b'jack', b'oss', b'pulse', b'upmix', b'vdownmix', b'default', b'hdmi:CARD=NVidia,DEV=0', b'hdmi:CARD=NVidia,DEV=1', b'dmix:CARD=NVidia,DEV=3', b'dmix:CARD=NVidia,DEV=7', b'dsnoop:CARD=NVidia,DEV=3', b'dsnoop:CARD=NVidia,DEV=7', b'hw:CARD=NVidia,DEV=3', b'hw:CARD=NVidia,DEV=7', b'plughw:CARD=NVidia,DEV=3', b'plughw:CARD=NVidia,DEV=7', b'usbstream:CARD=NVidia', b'sysdefault:CARD=PCH', b'front:CARD=PCH,DEV=0', b'surround21:CARD=PCH,DEV=0', b'surround40:CARD=PCH,DEV=0', b'surround41:CARD=PCH,DEV=0', b'surround50:CARD=PCH,DEV=0', b'surround51:CARD=PCH,DEV=0', b'surround71:CARD=PCH,DEV=0', b'dmix:CARD=PCH,DEV=0', b'dmix:CARD=PCH,DEV=2', b'dsnoop:CARD=PCH,DEV=0', b'dsnoop:CARD=PCH,DEV=2', b'hw:CARD=PCH,DEV=0', b'hw:CARD=PCH,DEV=2', b'plughw:CARD=PCH,DEV=0', b'plughw:CARD=PCH,DEV=2', b'usbstream:CARD=PCH']
Когда я запускаю код в Windows 10, выводится:
[b'', b'{0.0.0.00000000}.{f5afeef6-6697-4507-882a-0b60be862f53}']
Странный вывод, я думаю?
Как я могу получить устройства вывода на python с помощью модуля vlc?
Также в cmd я увидел следующее: [000002734e26e560] ошибка аудиовыхода mmdevice: не удается инициализировать COM (ошибка 0x80010106), но только в определенное время.
Ответ №1:
Я просто меняю mod.device на mod.описание, и теперь я могу видеть названия устройств, читаемых человеком.