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

时间:2019-04-20 13:04:32

标签: 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")

2 个答案:

答案 0 :(得分:0)

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

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)

答案 1 :(得分:0)

在实际需要以下操作之前,请尝试在子过程中启动mplayer

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

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

p.communicate(input=b'loadfile /home/pi/test.mp3\n')