2013-06-03 60 views
2

我已經成功導入pydub pydub但代碼:錯誤與蟒蛇

from pydub import AudioSegment 
song = AudioSegment.from_mp3("c:\mks.mp3") 
first_ten_seconds = song[:10000] 
song.export("d:\mks.mp3", format="mp3") 

但它提供了以下錯誤:

python "C:\Users\mKs\Desktop\mks2.py" 
Process started >>> 
Traceback (most recent call last): 
    File "C:\Users\mKs\Desktop\mks2.py", line 2, in <module> 
    song=AudioSegment.from_mp3("c:\mks.mp3"); 
    File "C:\Python27\lib\site-packages\pydub-0.5.2-py2.7.egg\pydub\audio_segment.py", line 194, in from_mp3 
    return cls.from_file(file, 'mp3') 
    File "C:\Python27\lib\site-packages\pydub-0.5.2-py2.7.egg\pydub\audio_segment.py", line 189, in from_file 
    return cls.from_wav(output) 
    File "C:\Python27\lib\site-packages\pydub-0.5.2-py2.7.egg\pydub\audio_segment.py", line 206, in from_wav 
    return cls(data=file) 
    File "C:\Python27\lib\site-packages\pydub-0.5.2-py2.7.egg\pydub\audio_segment.py", line 33, in __init__ 
    raw = wave.open(StringIO(data), 'rb') 
    File "C:\Python27\lib\wave.py", line 498, in open 
    return Wave_read(f) 
    File "C:\Python27\lib\wave.py", line 163, in __init__ 
    self.initfp(f) 
    File "C:\Python27\lib\wave.py", line 128, in initfp 
    self._file = Chunk(file, bigendian = 0) 
    File "C:\Python27\lib\chunk.py", line 63, in __init__ 
    raise EOFError 
EOFError 

我很想得到這個話題

幫助
+0

你的msk.mp3有多長? – PSS

+0

4分30秒 – user2313547

+0

請刪除「;」在行結尾處。 – PSS

回答

0

我在代碼中看到的唯一問題是「;」在最後3行的末尾。請刪除這些內容,然後查看是否仍然有錯誤。

另外,請確保您已安裝ffmpeghttp://www.ffmpeg.org/)。它需要支持所有的非wav文件格式。

新增:

我想你已經在你的Python安裝破碎模塊依賴。 我已經嘗試過你用python 2.7.2提供的代碼。它對我很好:

>>> from pydub import AudioSegment 
>>> song = AudioSegment.from_wav('goodbye.wav') 
>>> first_ten_seconds = song[:10000] 
>>> song.export('goodbye1.wav',format='wav') 
<open file 'goodbye1.wav', mode 'wb+' at 0x10cf2b270> 
+0

不,它不適用於它刪除 – user2313547

+1

你安裝了ffmpeg(http://www.ffmpeg.org/)?它是所有非wav文件格式所必需的。 – PSS

+0

這個庫調用了'ffmpeg'命令。請參閱https://github.com/jiaaro/pydub/blob/master/pydub/audio_segment.py#L208您需要安裝它並能夠在命令行中鍵入'ffmpeg'而不會出現錯誤。 – User