1

を使用してループで 1 秒のサウンドを再生しようとしていますmplayer。コードを実行すると、ラズベリー OS がクラッシュします。プロセスの複数のインスタンスがタスク マネージャーでハングしていることに気付いたmplayerので、プロセス ID を取得するコードを追加しましpidofkill
しかし、プロセスは何度も表示され続け、ラズベリーはいくつかのループの後にクラッシュし続けます.

また、サウンドが重なっているように見える場合があります (おそらくプロセスのインスタンスが複数あるため)。

import os
import time
import serial

# arduino stuff
ser = serial.Serial('/dev/ttyACM0', 9600)

while True:
    os.system('mplayer -really-quiet /home/pi/Desktop/sound.mp3 &')
    time.sleep(1.5)
    ser.write('1') # send a signal to arduino 
    a = os.popen('pidof mplayer').read()
    if(a != ''):
        os.system('sudo kill ' + str(a))

注:のような他のプレーヤーを使用しようとしましmpg123たが、問題はまったく同じです。

4

1 に答える 1