1

私はコードを使用しています:

import pygame, sys, datetime
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((640, 480))
screen.fill((0, 0, 0, 255))
pygame.display.set_caption("TESTIFICATE")
if datetime.date.today().month == 12 and datetime.date.today().day == 25:
    pygame.mixer.music.load("8bit-jingle-twist.mp3")
    print("Merry Christmas!")
else:
    pygame.mixer.music.load("timeless-mountains.mp3")
print("Loading Music...")
pygame.mixer.music.play(-1, 0.0)
print("Playing Background Music...")
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
    pygame.display.update()

8bit-jingle-twist.mp3とがtimeless-mountains.mp3存在し、VLCで再生できます。私の混乱と同様に、私のボリュームはオンになっています。

4

3 に答える 3

0

正しいディレクトリでそれらを探していますか?

フルパスを指定してみてください。 "c:/programs/mygame/music/8bit-jingle-twist.mp3"

于 2012-06-17T02:06:01.993 に答える
0

新しい答え:

mp3 ファイルを 'filename.mp3' として保存し、.mp3 ファイル拡張子を自分で書き留めた場合、pygame の pygame.mixer.music.load() 関数内のファイル名は 'filename.mp3.mp3' として記述する必要があります。 、python は .mp3 を追加することを期待しているためです。.mp3 を手動で保存した場合、ファイル名に .mp3 が既に含まれていることがあります。

したがって、これを試してください: pygame.mixer.music.load('filename.mp3.mp3')

于 2014-07-21T03:24:16.787 に答える
0

非常に奇妙なことに、私は単にあなたのコードをコピーし、オーディオファイルを私が持っていたものに変更しただけで、完全にうまくいきました.

したがって、ファイル自体に関係があると思います。

Hugh Bothwell が指摘したように、ファイル パスである可能性があります。その場合、次の 3 つのことを行うことができます。

ファイル パス全体を使用します。

pygame.mixer.music.load("C:/blah/blah/blah/8bit-jingle-twist.mp3")

ファイル パスを使用しない(ファイルはプログラムと同じフォルダーにある必要があります)

pygame.mixer.music.load("8bit-jingle-twist.mp3")

または、プログラムと同じフォルダー内にフォルダーがある 1 つのフォルダー ジャンプを使用します。たとえば、「My Documents」にプログラムがあり、「My Documents」内に「Music for Pygame」という別のフォルダーを作成します。次に、コードは次のようになります。

pygame.mixer.music.load("Music for Pygame/8bit-jingle-twist.mp3")

私は主に最後のオプションを使用します。これにより、音楽用のフォルダー、画像用のフォルダーなどを作成してファイルを整理しておくことができます。プログラムが入っていたフォルダーを移動しても、プログラムは引き続き機能します。

もちろん、それはオーディオファイルそのものでもありえます。それが本当にであり、正常に再生されることを確認してください.mp3(VLC はあまりにも素晴らしく、何でも再生できます。念のため、Windows メディアなどで再生してみてください)。

また、Windows 7 OS を使用している場合は、管理者として実行してみてください。問題が解決する場合があります。

(Windows XP でコードを実行したところ、今のところ問題なく動作しました)

于 2012-06-18T14:10:56.573 に答える