You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VLC中获取音频输出设备的原始友好名称而非设备ID

解决方法

你调用audio_output_device_enum返回的AudioOutputDevice结构体包含两个核心字段:

  • device:存储设备的唯一识别ID,也就是你当前拿到的字节串值
  • name:存储设备的用户友好显示名称,就是你需要的原始设备名

你只需要把原来代码中提取mod.device的逻辑替换为提取mod.name,再做字节解码即可,修正后代码如下:

import vlc
p = vlc.MediaPlayer("music.mp3")
mods = p.audio_output_device_enum()
devices = []
if mods:
    mod = mods
    while mod:
        mod = mod.contents
        # 解码字节为utf-8字符串,得到显示名称
        display_name = mod.name.decode('utf-8')
        device_id = mod.device.decode('utf-8')
        devices.append((display_name, device_id))
        mod = mod.next

# 输出所有设备的显示名
for display_name, _ in devices:
    print(display_name)

运行后就能直接得到Speakers (High Definition Audio)这类格式的设备显示名称。

补充说明

如果遇到部分设备name字段为空的情况,优先更新你本地的python-vlc依赖到最新版本即可解决。


内容的提问来源于stack exchange,提问作者a-m-h-t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:48:04