2017-02-18 84 views
0

我不能讓pygame的音樂或聲音的工作得到pygame的聲音或音樂上的MAC,我已經試過這不能在pycharm工作

import pygame 
pygame.init() 
pygame.mixer.init() 
song = pygame.mixer.Sound('/Users/Me/PycharmProjects/Porting Tester/MusicTest/Hi.mp3') 
display = pygame.display.set_mode((800, 600)) 
pygame.display.set_caption("Hi") 
clock = pygame.time.Clock() 
song.play() 
while True: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      pygame.quit() 
      quit() 
      exit() 
    pygame.display.update() 
    clock.tick(60) 
pygame.quit() 

而且會導致一個錯誤說:

Python(18309,0x7fff73a5f000) malloc: *** error for object 0x1004dae80: pointer being freed was not allocated *** 
set a breakpoint in malloc_error_break to debug 

Process finished with exit code 134 (interrupted by signal 6: SIGABRT) 

返回值,我已經嘗試了許多事情,但我認爲這是在給我的這些錯誤的文件。

+0

您是否嘗試過用不同的聲音文件? –

+0

是的,另一個標籤(.wav) –

回答

0

有了這個確切的代碼:

import pygame 
import os 
pygame.init() 
pygame.mixer.pre_init(44100, 16, 2, 4096) # Frequency, channel size, channels, buffersize 
pygame.mixer.init() 

song = pygame.mixer.Sound('ts.wav') 

display = pygame.display.set_mode((800, 600)) 
pygame.display.set_caption("Hi") 
clock = pygame.time.Clock() 

song.play() 

while True: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      pygame.quit() 
      quit() 
      exit() 
    pygame.display.update() 
    clock.tick(60) 
pygame.quit() 

我能播放文件,ts.wav(位於同一文件夾中的Python文件),並正確運作。

我似乎做的唯一事情就是添加pygame.mixer.pre_init(44100, 16, 2, 4096),並移動聲音的位置。

如果它仍然不起作用,我認爲PyCharm 可能是是責備。我以前用過它,而且很奇怪。