我正在尝试从内存而不是文件播放wav文件.这是我尝试过的方法,但是不起作用. with open(my/file/dir/sound.wav,rb) as f: data = f.read() data = base64.b64encode(data) data = data.decode...

我正在尝试从内存而不是文件播放wav文件.这是我尝试过的方法,但是不起作用.
>>> with open('my/file/dir/sound.wav','rb') as f:
>>> data = f.read()
>>> data = base64.b64encode(data)
>>> data = data.decode('UTF-8')
因此,现在数据是一个字符串对象,表示音频wav文件的字节.
>>> winsound.PlaySound(data,winsound.SND_MEMORY)
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
RuntimeError: Failed to play sound
请帮忙.我要去哪里错了?
编辑:没关系. It’s a bug.
解决方法:
据我了解,问题在于以下几行:
>>> data = data.decode('UTF-8')
使用base64.b64encode()进行编码时,应使用base64.b64decode()进行解码.
因此,代码可能是:
with open('my/file/dir/sound.wav','rb') as f:
data = base64.b64encode(f.read())
winsound.PlaySound(base64.b64decode(data), winsound.SND_MEMORY)
我相信它可以解决问题.
沃梦达教程
本文标题为:Python:使用Winsound在内存中播放WAV-SND_MEMORY


基础教程推荐
猜你喜欢
- Pygame实战之经典泡泡龙小游戏 2023-08-11
- Python 内置方法和属性详解 2023-08-04
- windows下python环境安装 2023-09-04
- 如何创建像top unix命令这样的python shell脚本? 2023-11-10
- 在Windows的Emacs中执行当前的Python脚本 2023-11-13
- python 内置函数-range()+zip()+sorted()+map()+reduce()+filter() 2023-08-09
- php-Python子进程无法识别$PATH中的命令 2023-11-11
- API例子:用Python驱动Firefox采集网页数据 | 一起学习Python网络爬虫 2023-09-04
- 如何为绝对初学者制作Windows的Python扩展 2023-11-13
- Python re.findall中正则表达式(.*?)和参数re.S使用 2022-09-02