如何修复python脚本中的延迟/延迟

2024-09-30 18:34:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,当当前时间与文本文件中指定的时间匹配时执行mp3。不过,一切都很好,但我注意到在mplayer播放mp3文件之前有大约18秒的延迟和延迟。在

有没有办法让我的python脚本更好地摆脱18秒的延迟,让mp3文件即时播放?在

下面是我的python脚本:

#!/usr/bin/python
# -*- coding: utf-8 -*-

# import libraries

import json 
import urllib2 
from bs4 import BeautifulSoup 
import requests 
import datetime 
import playsound 
import os 
import subprocess

dateSTR = datetime.datetime.now().strftime('%H:%M')


f = open('/home/pi/test.txt','r') 
messagetest = f.read() 
newnametest = messagetest.replace("\n","") 
f.close()


if (dateSTR) == (newnametest):


    os.system("mplayer -ao alsa:device=bluealsa /home/pi/test.mp3")

Tags: 文件testimport脚本homedatetimeos时间
2条回答

我会创建一个循环,类似于:

from time import sleep
from datetime import datetime
...
done = []
while 1:
    dateSTR = datetime.now().strftime('%H:%M')
    if (dateSTR) == (newnametest) and not dateSTR in done:
        done.append(dateSTR)
        os.system("mplayer -ao alsa:device=bluealsa /home/pi/test.mp3")
    sleep(1)

在实际需要mplayer之前,请尝试在子进程中启动mplayer,然后将其作为:

p = subprocess.Popen('mplayer -slave -idle -ao alsa:device=bluealsa', shell=True, stdin=subprocess.PIPE)

它应该启动mplayer,并在需要时等待它。然后,当您想播放文件时,请执行以下操作:

^{pr2}$

相关问题 更多 >