音频扬声器输出延迟10秒(Raspberry Pi项目)

时间:2020-08-03 22:17:47

标签: python audio raspberry-pi i2c speaker

我正在一个Raspberry pi项目上,我在Pi和音频放大器之间使用I2C通过扬声器输出不同的警报信号。

问题是,在我输入所有内容之后,需要10秒钟才能听到扬声器发出的警报声。这是为什么?有人可以建议消除延迟的方法吗?

python代码如下:

import smbus
# I2C address for the amplifier
MAX9744_I2CADDR = 0x4B
REG_ADDR = 0x10010111
bus = smbus.SMBus(1)
class MAX9744(object):
    global MAX9744_I2CADDR
    i2c = None
    def __init__(self, address=MAX9744_I2CADDR):
        self.address = address
        self.i2c = bus


    def set_volume(self, address_reg, value):
        assert value >= 0 and value <=64, 'Volume must be between 0 and 63'
        # send the volume

        bus.write_byte_data(self.address, address_reg, value & 0b111111)
amp = MAX9744()
vol = input('input the desired volume')

print('setting volume to {0} '.format(vol))
amp.set_volume(REG_ADDR , vol)

priority = input('What is the priority level? 1.High 2.Med 3.Low')

import pygame as pg

# start the mixer
pg.mixer.init()
if priority == 3:

    pg.mixer.music.load("med_priority.wav")
    pg.mixer.music.play(loops=-1)
elif priority == 2:

    pg.mixer.music.load("high_priority.wav")
    pg.mixer.music.play(loops=-1)
elif priority == 1:
    pg.mixer.music.load("low_priority.wav")
    pg.mixer.music.play(loops=-1)
#clock = pg.time.Clock()
#clock.tick()

# play
while pg.mixer.music.get_busy():
    continue

0 个答案:

没有答案
相关问题