Python 带音频的MP3

Python 带音频的MP3,python,mp3,playback,pyaudio,Python,Mp3,Playback,Pyaudio,不管我怎么说,在尝试多种方法时,我似乎总是在终端中遇到以下错误: import pyaudio import wave chunk = 1024 wf = wave.open('yes.mp3', 'rb') p = pyaudio.PyAudio() stream = p.open( format = p.get_format_from_width(wf.getsampwidth()), channels = wf.getnchannels(), rate = wf

不管我怎么说,在尝试多种方法时,我似乎总是在终端中遇到以下错误:

import pyaudio
import wave

chunk = 1024
wf = wave.open('yes.mp3', 'rb')
p = pyaudio.PyAudio()

stream = p.open(
    format = p.get_format_from_width(wf.getsampwidth()),
    channels = wf.getnchannels(),
    rate = wf.getframerate(),
    output = True)
data = wf.readframes(chunk)

while data != '':
    stream.write(data)
    data = wf.readframes(chunk)

stream.close()
p.terminate()
我会使用pyglet,但媒体和所有其他模块都不会被检测到,即使我能够导入pyglet


有什么帮助吗

您正在使用
wave
尝试打开的文件不是
wav
。相反,您正试图打开一个
mp3
文件。
wave
模块只能打开
wav
文件,因此您需要将
mp3
转换为
wav
。以下是如何使用pyglet播放
mp3
文件:

raise Error, 'file does not start with RIFF id'

这将比您正在尝试的方法简单得多。pyglet出现了哪些错误?

问题发生在哪里?当你用
wave.open
打开mp3文件时,或者当你打算使用
wf
变量时??老实说,没有任何线索,我希望我能用它看看有什么作用,但到目前为止,我在谷歌上找到的每个方法都会给我同样的错误。回溯(最近一次调用):文件“pyglet2.py”,第3行,在music=pyglet.resource.media('/Dropbox/Grad_project/Tests/yes.mp3')文件“/usr/lib/pymodules/python2.7/pyglet/resource.py”,第592行,在media raise ResourceNotFoundException(名称)pyglet.resource.ResourceNotFoundException:resource“/Dropbox/Grad_project/Tests/yes.mp3”路径上找不到。确保文件名具有正确的大写字母。“是的,路径正确,拼写也正确(仅放置MP3和无路径也会产生相同的错误。真的吗?路径正确吗?文件系统的根路径中有一个“Dropbox”文件夹?请尝试删除路径中的首字母“/”。。
        import pyglet

        music = pyglet.resource.media('music.mp3')
        music.play()

        pyglet.app.run()