使用winsound模块播放.wav文件无声音,脚本运行无报错
解决winsound播放WAV无声音但无报错的问题
我之前也碰到过一模一样的情况!咱们一步步来排查和解决:
先确认文件路径是否正确
你写的"1.wav"是相对路径,意味着这个文件必须和你的Python脚本在同一个文件夹里。可以先打印当前脚本的工作目录,确认文件位置:import os print(os.getcwd())如果文件不在这个目录里,要么把WAV文件移过来,要么改用绝对路径,比如
"C:\\Users\\YourUsername\\Documents\\1.wav"(注意Windows路径要用双反斜杠)。检查WAV文件格式是否兼容
winsound只支持PCM编码的WAV文件,不支持压缩格式的WAV(比如从MP3转换过来的可能会有问题)。你可以先双击这个WAV文件,用系统自带的媒体播放器试试能不能播放——如果系统播放器都播不了,那就是文件本身的问题,换一个标准的PCM WAV文件再试。暂时去掉异步播放参数
你用了winsound.SND_ASYNC,这会让播放在后台进行,脚本可能直接运行结束,导致声音还没来得及播放就被终止了。先改成同步播放试试:import winsound winsound.PlaySound("1.wav", winsound.SND_FILENAME)这样脚本会等到声音播放完才结束,看看有没有声音输出。
排查系统音频设置
别忽略最基础的问题:电脑是不是静音了?默认播放设备是不是选对了?比如你插了耳机,但声音输出到了扬声器,或者反过来。可以先播放系统自带的提示音,确认音频设备正常工作。检查文件是否被占用
如果这个WAV文件正在被其他程序打开(比如音频编辑软件),winsound可能无法读取播放,关闭其他占用文件的程序再试试。
内容的提问来源于stack exchange,提问作者Hayden Seward




