1

全新的 Python 和使用 Raspberry Pi

尝试与 Arduino 进行非常简单的连接,并在按下按钮时使用 pyGame 播放声音。

不幸的是,我无法让 .wav 文件真正播放 - 我只是听到咔哒声。我假设它是采样率,所以我检查了音频文件并将 pygame.mixer.pre_init 设置为相同的采样率,但它仍然不起作用。

我安装了 alsa-utils 和 mpg321 并将 pi 设置为通过 hdmi 输出音频

我可以使用 aplay 播放 mp3 文件。我也可以使用 os.pyhton 获取 pyhton。播放 mp3

使用 pyGame 我无法加载 mp3,因为它给出了一个错误,它找不到文件使用 pygame.sound 它确实运行脚本并收到按钮按下,但我得到的只是点击。

我会得到 pi 并准确地发布错误代码,但这里是 python

# playSounds.py

import pygame.mixer
from time import sleep
from sys import exit
import serial

pygame.mixer.init(44000, -16, 1, 1024) 

soundA = pygame.mixer.Sound("/1.wav") 
soundB = pygame.mixer.Sound("/2.wav")
soundC = pygame.mixer.Sound("/3.wav")

soundChannelA = pygame.mixer.Channel(1) 
soundChannelB = pygame.mixer.Channel(2)
soundChannelC = pygame.mixer.Channel(3)

print "Go . Sampler Ready."
serialFromArduino = serial.Serial("/dev/ttyACM0",9600)
serialFromArduino.flush()

while True:
try:
    val = ord(serialFromArduino.read())
    print(val)
    if (val == 2): 
        soundChannelA.play(soundA) 
    if (val == 3):
        soundChannelB.play(soundB)
    if (val == 4):
        soundChannelC.play(soundC)
    val = 0
    sleep(.01)
except KeyboardInterrupt: 
    exit()

该代码最初来自一个制作帖子。就像我说它运行,接收 arduino,但音频只是一个点击。我尝试使用 .ogg 文件,但它们没有任何区别。

感谢任何帮助

4

0 回答 0