Python - воспроизведение звука

Я хочу воспроизводить звук с помощью python pygame

Я пытался:

import pygame

pygame.init()

pygame.mixer.music.load("bellhigh.wav")

pygame.mixer.music.play()
while pygame.mixer.music.get_busy() == True:
      continue

Это дает мне сообщение об ошибке:

error: Unkown WAVE data format

import pygame

pygame.mixer.init()
s = pygame.mixer.Sound("bellhigh.wav")
s.play()

Этот код работает без ошибок, но вообще не воспроизводит звук.

Я следил за этим сообщением: Воспроизвести звук с помощью Python

В комментарии Домстера: Из руководства: «Модуль микшера должен быть инициализирован, как и другие модули pygame, но у него есть некоторые дополнительные условия. Функция pygame.mixer.init - инициализация модуля микшера принимает несколько необязательных аргументов для управления скорость воспроизведения и размер выборки. Pygame по умолчанию будет использовать разумные значения, но pygame не может выполнить повторную выборку звука, поэтому микшер должен быть инициализирован в соответствии со значениями ваших аудиоресурсов. " - возможно, поэтому ваши ресурсы загружаются неправильно

Любая помощь будет принята с благодарностью.


person RamHS    schedule 31.10.2014    source источник


Ответы (1)


Обновление: А, я вижу, что вы используете raspbian ... я тоже ... и ниже работал у меня ..

==

Я скопировал файл chord.wav со своего ПК с Windows в папку "C: \ Windows \ Media \ chord.wav" и использовал его, как и в приведенном выше коде.

ИЛИ попробуйте использовать процесс командной оболочки ..

aplay - это звуковой проигрыватель ... выберите любой другой доступный для вашей машины выбор для воспроизведения звука.

from subprocess import call
call(["aplay", "-q", "chord.wav"])

Это, по крайней мере, поможет вам диагностировать проблему.

--

Чтобы установить громкость в Raspberry Pi, используйте это:

amixer set PCM -- 400 (используйте 400 для максимального объема) отрицательные числа меньше объема, например 200, 100, -100, -1000, -4000

источник: http://blog.paddlefish.net/?p=895

person ihightower    schedule 16.12.2014