You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Winsound播放长.wav文件报错问题咨询

解决长WAV音频播放触发Windows错误提示音的问题

嘿,我来帮你搞定这个音频播放的麻烦!你遇到的问题大概率是因为默认的Windows音频播放工具(比如Python自带的winsound模块)对WAV文件长度有限制——它本来就是设计来播放短提示音的,40秒的长文件自然会触发错误。下面给你几个靠谱的解决方案:

1. 换用支持长音频的Python库

放弃winsound,改用专门的音频播放库,这些库没有长度限制,完全能搞定长解说音频:

pygame实现播放

先安装pygame(如果没装的话):

pip install pygame

然后用这段代码播放:

import pygame

# 初始化音频 mixer
pygame.mixer.init()
# 加载音频文件
audio = pygame.mixer.Sound("你的解说音频.wav")
# 开始播放
audio.play()

# 如果需要等待播放结束再继续执行代码,加上这行
pygame.time.wait(int(audio.get_length() * 1000))

playsound实现播放

这个库更轻量化,推荐安装1.2.2版本(新版本可能有兼容性问题):

pip install playsound==1.2.2

代码非常简洁:

from playsound import playsound

playsound("你的解说音频.wav")

2. 关于“把文件放进Python目录”的疑问

其实完全没必要特意把音频文件挪到Python安装目录里——只要你的音频文件和Python脚本在同一个文件夹,直接用文件名就能读取到。如果担心路径出问题,可以用代码自动获取脚本所在目录,确保路径绝对正确:

import os

# 获取当前脚本所在的文件夹路径
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接音频文件的完整路径
audio_path = os.path.join(script_dir, "你的解说音频.wav")

# 之后用这个audio_path去加载音频就行

要是你非要试“放进Python目录”的方法,那就是Python的安装根目录(比如C:\Python311,根据你的版本号调整),或者虚拟环境的Lib文件夹,但真的没必要这么做,用上面的相对路径方法更稳妥。

3. 检查音频文件的编码格式

虽然短WAV能正常播放,但长文件可能不是标准的PCM编码(Windows默认播放工具只支持PCM编码的WAV)。你可以用Audacity这类免费音频工具,把文件重新导出为16位PCM WAV格式,再试试播放,说不定能解决问题。

内容的提问来源于stack exchange,提问作者Cameron Lievesley

火山引擎 最新活动