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

Python中playsound模块加载设备驱动未知错误求助

解决playsound播放WAV文件时的Error 266设备驱动问题

我明白你在用playsound做简易娱乐程序时卡壳了——调用playsound("scan.wav")弹出了Error 266,提示设备驱动加载出问题。先理下你的现状:

  • 代码逻辑简单直接,文件都在D:\Programi\python\lab目录下(包含lab.py、scan.mp3和scan.wav)
  • 报错核心是Unknown problem while loading the specified device driver

下面给你几个可尝试的解决方向,从易到难来:

1. 先检查音频设备状态

  • 右键任务栏的音量图标,打开声音设置,确认默认播放设备没有被禁用,且能正常发声(比如播放系统提示音试试)
  • 可以临时切换默认音频设备(比如从扬声器切到耳机,或者反过来),再重新运行程序测试

2. 用绝对路径替代相对路径

有时候相对路径会因为Python工作目录的问题导致识别异常,换成绝对路径更稳妥:

from playsound import playsound
import os

# 获取当前脚本所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接WAV文件的完整路径
sound_path = os.path.join(script_dir, "scan.wav")

print("please wait")
playsound(sound_path)

3. 更新或重装音频驱动

既然报错指向设备驱动,那大概率是驱动损坏或版本过旧:

  • 打开设备管理器,找到声音、视频和游戏控制器,右键你的音频设备,选择更新驱动程序,让系统自动搜索更新
  • 如果更新没用,就卸载驱动后重启电脑,系统会自动重新安装适配的驱动

4. 换用更稳定的音频播放库

如果playsound的问题一直绕不开,可以试试其他成熟的库,比如pygame或simpleaudio:

pygame示例代码:

import pygame
import os

script_dir = os.path.dirname(os.path.abspath(__file__))
sound_path = os.path.join(script_dir, "scan.wav")

pygame.mixer.init()
pygame.mixer.music.load(sound_path)
print("please wait")
pygame.mixer.music.play()

# 等待音频播放完成
while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

simpleaudio示例代码:

import simpleaudio as sa
import os

script_dir = os.path.dirname(os.path.abspath(__file__))
sound_path = os.path.join(script_dir, "scan.wav")

wave_obj = sa.WaveObject.from_wave_file(sound_path)
print("please wait")
play_obj = wave_obj.play()
play_obj.wait_done()

建议先从检查音频设备和更换绝对路径开始试,这两个操作简单,大概率能解决你的问题。

内容的提问来源于stack exchange,提问作者ONT Studios

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 12:27:29