簡體   English   中英

為python中的Alarm程序部分播放音頻文件

[英]Playing an audio file partially for an Alarm program in python

我用python創建了一個警報,當警報時間到時,我想播放音軌的前10秒。

我嘗試使用subprocess.call,但無法在10秒后終止代碼,例如:

subprocess.call(["/usr/bin/vlc", "/home/panos/Desktop/U TUBE/SRW α3 - Battle God of Steel.webm"])

這會播放曲目,但是我不知道如何在10秒后停止播放,並且在鬧鍾響起時也不顯示實際的VLC播放器。 我還有什么其他選擇? 並且有什么我可以做的子流程。 我當時以為bash可以播放10秒鍾的音頻命令,所以我可以從subprocess進程中調用它,但是我對bash命令一無所知

如果可以使用subprocess.check_output ,則它具有可以設置的timeout參數。

import subprocess

command = ["/usr/bin/vlc", "/home/panos/Desktop/U TUBE/SRW α3 - Battle God of Steel.webm"]

try:
    x=subprocess.check_output(command, shell=True, timeout=5)
except subprocess.TimeoutExpired as exc:
    print("Command timed out: {}".format(exc))

我已經用sleep命令對其進行了測試,並且它按預期工作。

import subprocess

try:
    x = subprocess.check_output(["sleep", "10"], timeout=5)
except subprocess.TimeoutExpired as exc:
    print("Command timed out: {}".format(exc))

輸出:

>>> python3 timeout.py 
Command timed out: Command '['sleep', '10']' timed out after 5 seconds

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM