前提・実現したいこと
pygame、USBスピーカーを利用しています。
プログラムを直で起動すると音がでるのですが、
service登録したら、音がでません。。
発生している問題・エラーメッセージ
エラーは出ていません。一応 status叩いた結果を下記に。
pi@raspberrypi:~ $ sudo systemctl status voiceTest.service ● voiceTest.service - do something Loaded: loaded (/etc/systemd/system/voiceTest.service; enabled; vendor preset: enabled) Active: inactive (dead) since Mon 2020-12-14 16:15:54 JST; 2s ago Process: 1671 ExecStart=/usr/bin/python /home/pi/Desktop/testPygame2.py (code=exited, status=0/SUCCESS) Main PID: 1671 (code=exited, status=0/SUCCESS) 12月 14 16:15:50 raspberrypi systemd[1]: Started do something. 12月 14 16:15:54 raspberrypi python[1671]: pygame 1.9.4.post1 12月 14 16:15:54 raspberrypi python[1671]: Hello from the pygame community. https://www.pygame.org/contribute.html 12月 14 16:15:54 raspberrypi python[1671]: 声が聞こえる? 12月 14 16:15:54 raspberrypi python[1671]: /home/pi/Desktop/voice/01.mp3 12月 14 16:15:54 raspberrypi systemd[1]: voiceTest.service: Succeeded.
該当のソースコード(サービス)
voiceTest.service の内容です
[Unit] Description=do something [Service] ExecStart=/usr/bin/python /home/pi/Desktop/testPygame2.py [Install] WantedBy=user@.service
該当のソースコード(python mp3)
testPygame2.py の内容です
import pygame.mixer import time import random # voice list voiceList = ['01.mp3','02.mp3'] # rasp only voiceDirectory = '/home/pi/Desktop/voice/' def voiceWhenDoorOpen(boxNo): global globalName, voiceDirectory, voiceList mp3data = voiceDirectory + random.choice(voiceList) print('声が聞こえる?') print(mp3data) pygame.mixer.init() #初期化 pygame.mixer.music.load(mp3data) #読み込み pygame.mixer.music.play(1) #再生 time.sleep(3) pygame.mixer.music.stop() #終了 voiceWhenDoorOpen(1)
該当のソースコード(python wav)
pyGameのsound利用(wavファイル利用)バージョンです。こちらも試したけれど同じ症状でした。
import pygame.mixer import time import random # voice list voiceList = ['01.wav','02.wav'] # rasp only voiceDirectory = 'C:\Users\Tamouse\Downloads\本日\voice' def voiceWhenDoorOpen(boxNo): global globalName, voiceDirectory, voiceList mp3data = voiceDirectory + random.choice(voiceList) print('声が聞こえる?') print(mp3data) pygame.mixer.init() #初期化 shoot_sound = pygame.mixer.Sound(mp3data) #読み込み shoot_sound.play() #再生 #time.sleep(3) #pygame.mixer.music.stop() #終了 voiceWhenDoorOpen(1)
補足情報(FW/ツールのバージョンなど)
Raspberry Pi 3 Model B+
Waveshare 7インチ HDMI タッチスクリーン
もとはwebフロントエンド、趣味でpythonやってますが、linux(サーバ系)は弱いです。
なにとぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー