簡體   English   中英

pycharm工作在Mac上的pygame中無法獲取聲音或音樂

[英]Can't get sound or music in pygame on mac in pycharm working

我無法讓pygame處理音樂或聲音,我已經嘗試過

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)

我已經嘗試了很多事情,但是我認為正是文件給了我這些錯誤。

有了這個確切的代碼:

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 可能是罪魁禍首。 我過去用過它,這很奇怪。

我有同樣的問題。 我解決問題的方法是將原始.wav聲音文件轉換為.ogg(使用VLC;在線轉換器也可以工作)。

並不是說.wav文件通常是不好的:我嘗試了一個不同的.wav文件,它工作得很好。 但是我的.wav文件不正確/損壞了,並且從我用來制作文件的記錄設備中取出來。 無論如何,轉換解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM