0
だから私は、サウンドを再生するコードのこの部分を持っているが、それは同じディレクトリにある場合にのみ動作しますpygletは、同じディレクトリからサウンドを再生
# Doesnt work
current_directory = os.getcwd()
path = os.path.join(current_directory + "\sounds\\monster_roar.wav")
music = pyglet.resource.media(path)
# does work
music = ("monster_roar.wav")
#music.play()
pyglet.resource.ResourceNotFoundException:リソース「C :\ Users \ Joshua Nixon \ Documents \ college_work \ extended_project \ game \ new \ sounds \ monster_roar.wav "がパスに見つかりませんでした。ファイル名に適切なキャプリアライゼーションがあることを確認します。
何が欠けていますか?
私はあなたを愛しています。相対パスと絶対パスの違いを説明できますか? Haventはそれらの言葉を聞いた –
'\ sounds \ monster_roar.wav'のような相対パスを使うときは、あなたが使っている関数がどこかでフルパスを計算しなければなりません。特に、異なるプラットフォーム上でプログラムを実行しているときは、エラーが発生しやすくなります。 絶対パスは 'C:\ Users \ Bob \ Game \ sounds \ monster_roar.wav'のようなものです。しかし、これを文字列として書き出すことはできません。os.path.abspath( "sounds \ monster_roar.wav")を使用して計算すると、異なるプラットフォームで異なる結果が得られます。 –
あなたのケースではあまり心配しませんが、絶対パスを使用すると、基本的に異なるパスに参加する必要がなくなります(つまり、エラーの可能性が減ります)。 –