3

私は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

このトピックに関するヘルプが欲しい

4

1 に答える 1

1

あなたのコードで見られる唯一の問題は、末尾の「;」です。最後の 3 行の終わりに。それらを削除して、それでもエラーが発生するかどうかを確認してください。

さらに、ffmpeg ( http://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>
于 2013-06-03T13:36:10.057 に答える