我正在学习 python,我想创建一个 mp3/wav 播放器,我使用 pymedia 和 python2 来做到这一点。我正在尝试执行此代码,但终端说我“分段错误(核心转储)”。为什么?
“玩”类的一部分:
import pymedia
import time
demuxer = pymedia.muxer.Demuxer('mp3')
testsong = "/home/user/Musica/Avicii/True/YouMakeMe.mp3"
f = open(testsong, 'rb')
spot = f.read()
frames = demuxer.parse(spot) ## SEGMENTATION FAULT ####
decoder = pymedia.audio.acodec.Decoder(demuxer.streams[0])
frame = decoder.decode(spot)
sound = pymedia.audio.sound
print frame.bitrate, frame.sample_rate
song = sound.Output(frame.sample_rate, frame.channels, 16)
while len(spot) > 0:
try:
if frame:
song.play(frame.data)
spot = f.read(512)
frame = decoder.decode(spot)
except:
pass
根据评论编辑:
我删除了全局变量并删除了不必要的代码。如果我全部砍掉,除了这个:
import pymedia
import time
demuxer = pymedia.muxer.Demuxer('mp3')
testsong="/home/user/Musica/Avicii/True/YouMakeMe.mp3"
f=open(testsong, 'rb')
spot=f.read()
frames = demuxer.parse(spot) #Segmentation Fault (Core Dumped)
也会产生段错误。