を使用してループで 1 秒のサウンドを再生しようとしていますmplayer
。コードを実行すると、ラズベリー OS がクラッシュします。プロセスの複数のインスタンスがタスク マネージャーでハングしていることに気付いたmplayer
ので、プロセス ID を取得するコードを追加しましpidof
たkill
。
しかし、プロセスは何度も表示され続け、ラズベリーはいくつかのループの後にクラッシュし続けます.
また、サウンドが重なっているように見える場合があります (おそらくプロセスのインスタンスが複数あるため)。
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
たが、問題はまったく同じです。