Kivyウェブサイトの指示に厳密に従っているときに、Kivyでサウンドを読み込むことができないのはなぜですか?どんな助けでも大歓迎です!Python-Kivy:SoundLoader.loadが機能しない
次の例では、https://kivy.org/docs/api-kivy.core.audio.htmlからである:私はコピーして、空白のPythonのファイルにこの例を貼り付けて、コードを実行してきました
from kivy.core.audio import SoundLoader
sound = SoundLoader.load('mytest.wav')
if sound:
print("Sound found at %s" % sound.source)
print("Sound is %.3f seconds" % sound.length)
sound.play()
。私は 'mytest.wav'のための有効なwavファイルを使用するようにして、wavファイルをPythonファイルと同じディレクトリに配置しました。
私は、次のエラーメッセージが出ます:
/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 /Users/MyUsername/PycharmProjects/MyProject/sound_test.py
[INFO ] [Logger ] Record log in /Users/MyUsername/.kivy/logs/kivy_17-10-24_4.txt
[INFO ] [Kivy ] v1.10.1.dev0, git-Unknown, 20170911
[INFO ] [Python ] v3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
[INFO ] [AudioGstplayer] Using Gstreamer 1.12.2.0
[INFO ] [Audio ] Providers: audio_gstplayer, audio_sdl2 (audio_ffpyplayer, audio_avplayer ignored)
Traceback (most recent call last):
File "/Users/MyUsername/PycharmProjects/MyProject/sound_test.py", line 3, in <module>
sound = SoundLoader.load("mytest.wav")
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/kivy/core/audio/__init__.py", line 86, in load
return classobj(source=filename)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/kivy/core/audio/audio_gstplayer.py", line 45, in __init__
super(SoundGstplayer, self).__init__(**kwargs)
File "kivy/_event.pyx", line 262, in kivy._event.EventDispatcher.__init__
File "kivy/properties.pyx", line 478, in kivy.properties.Property.__set__
File "kivy/properties.pyx", line 516, in kivy.properties.Property.set
File "kivy/properties.pyx", line 571, in kivy.properties.Property.dispatch
File "kivy/_event.pyx", line 1214, in kivy._event.EventObservers.dispatch
File "kivy/_event.pyx", line 1120, in kivy._event.EventObservers._dispatch
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/kivy/core/audio/__init__.py", line 174, in on_source
self.load()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/kivy/core/audio/audio_gstplayer.py", line 62, in load
self.player.load()
File "kivy/lib/gstplayer/_gstplayer.pyx", line 233, in kivy.lib.gstplayer._gstplayer.GstPlayer.load
kivy.lib.gstplayer._gstplayer.GstPlayerException: Unable to create a playbin
Process finished with exit code 1
を私はまた、3行目以下のコードを退治しようとしたが、それはエラーメッセージには影響を与えません。
ありがとうございました!私は実際にMac OS Xを使用しています。まだファイルをoggに変換する必要がありますか?私はMacでwavファイルをうまく再生できます。この問題は、ファイルを再生するのではなく、Kivyでファイルを読み込んでいるようです。また、私がPygame(Kivyに切り替える前に)を使用したとき、同じファイルがロードされ、問題なく再生されました。 – Auggie
はいMac OS Xについてよく分かりませんが、私はあなたがそうすべきだと思います –
wavファイルを変換する必要はありません。 Ubuntu Linuxでwavファイルを再生するのに問題はありません。 – ikolim