Задержка 10 с на выходе аудиодинамика (проект Raspberry Pi) - PullRequest
0 голосов
/ 04 августа 2020

Я работаю над проектом Raspberry pi, где я выводю различные сигналы тревоги через динамик, используя I2 C между Pi и аудиоусилителем.

Проблема в том, что после ввода всего требуется 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

...