mp3play有时可以工作,有时也不会

时间:2014-05-05 05:34:33

标签: python mp3

我正在使用mp3play和google tts api播放机器人声音: 代码很简单,但有时很好,有时很糟糕:

def robot_voice(text):
    text=text.split()
    text='+'.join(text)
    url = "http://translate.google.com/translate_tts?tl=en&q="+text
    request = urllib2.Request(url)
    request.add_header('User-agent', 'Mozilla/5.0') 
    opener = urllib2.build_opener()

    f = open("data.mp3", "wb")
    f.write(opener.open(request).read())
    f.close()
    time.sleep(0.5)
    import mp3play
    mp3=mp3play.load('data.mp3')
    mp3.play()
    time.sleep(mp3.seconds())
    mp3.stop()

if __name__=="__main__":
    robot_voice("hello world")

就像当我把文件放在一个文件夹中时,它只是播放“hello world”的声音,但是当我将它复制并粘贴到另一个文件夹中时,它会给出错误信息:

  

“open”data.mp3“alias mp3_0.395468745176”的错误277:初始化MCI时出现问题。   “set mp3_0.395468745176 time format milliseconds”的错误263:指定的设备未打开或MCI无法识别。   “status mp3_0.395468745176 length”的错误263:指定的设备未打开或MCI无法识别。

     

Traceback(最近一次调用最后一次):文件   “C:\ Python27 \ Sample \ synthesis \ robot_voice.py”,第28行,in       robot_voice(“hello world”)文件“C:\ Python27 \ Sample \ synthesis \ robot_voice.py”,第19行,在robot_voice中       mp3 = mp3play.load('data.mp3')文件“build \ bdist.win-amd64 \ egg \ mp3play__init __。py”,第10行,载入中       返回AudioClip(filename)文件“build \ bdist.win-amd64 \ egg \ mp3play__init __。py”,第17行, init       self._clip = _PlatformSpecificAudioClip(filename)文件“build \ bdist.win-amd64 \ egg \ mp3play \ windows.py”,第43行, init       self._length_ms = int(buf)ValueError:int()的基数为10的文字无效:   “\ XD6 \ XB8 \ XB6 \ xa8 \ XB5 \ XC4 \ xc9 \ xe8 \ XB1 \ XB8 \ XCE \ XB4 \ XB4 \ XF2 \ XBF \的Xaa \ XA3 \ XAC \ XBB \ XF2 \ XB2 \ XBB \ XB1 \ XBB   MCI \ xcb \ xf9 \ xca \ xb6 \ xb1 \ xf0 \ xa1 \ xa3'

0 个答案:

没有答案