2017-08-27 2 views
0

私は、pygame 1.9.3でIDLEで動作するPython 3.5.2を使用してmp3ファイルを再生するアプリケーションで作業しています。まったく遊ぶ。Pygameはいくつかのmp3ファイルを再生できませんが、他のものは再生できません

問題を評価するために使用されるテストコード:「悪い」標識さ1はそうではない

import pygame 
from pygame import mixer 
from pygame.locals import * 
pygame.init() 
mixer.init() 
mixer.music.load('good.mp3') 
mixer.music.play() 
u = input('Good file') 
mixer.music.load('bad.mp3') 
mixer.music.play() 
u = input('Bad file') 

「良い」ラベルされたファイルは、正しく再生されます。両方のファイルは同じディレクトリにあります。両方のファイルは音楽プレーヤーで再生されます。両方のファイルはWindows 7マシンでpython 3.4とpygameで動作します。

答えて

0

Pygameは良いMP3サポートをしていません。オペレーティングシステムによっては、サポートされていないフォーマットがDebian Linuxなどのプログラムをクラッシュさせることがあります。代わりにOGGを使用することを検討してください。 "

http://www.pygame.org/docs/ref/music.html

FWIW、私は、OGGファイルに問題があったことがありません、それはffmpegのか、オンラインコンバータを使用して変換するのは非常に簡単です。

+0

残念ながら、それはこのアプリケーションにとって実用的な解決策ではありません。 – user7823241

+0

しかし、この方法を使うと問題は解決しますか?最適な解決策ではありませんが、それは解決策になりますか? https://stackoverflow.com/questions/5464912/simple-way-to-transcode-mp3-to-ogg-in-python-live – srattigan

0

mp3のpygameのサポートに問題がある可能性があります。 VLC moduleをお試しいただけますか?

>>> import vlc 
>>> p = vlc.MediaPlayer("bad.mp3") 
>>> p.play() 

問題が解決しない場合は、あなたがmp3に変換してみてくださいかもしれない - pygameのために問題となり得る任意のエンコーディングの問題を修正する> mp3 - > wavファイルを。 chrisによって提案されているように、ffmpegはエンコードする最も簡単な方法です。

$ ffmpeg -i bad.mp3 -acodec pcm_u8 bad.wav 
$ ffmpeg -i bad.wav -codec:a libmp3lame -qscale:a 2 bad2.mp3 
関連する問題