因为工作需要文件夹按序播一个音频3s后播下一个音频或者重复循环播放多次,一般的播放器都是播完直接播下一个,不能满足我的需求,所以python脚本写起来吧。理解需求:(文件排序、播放音频文件、间隔3s、循环播放)
1.实现文件夹按序一个播音频文件间隔3s后播下一个音频文件
import os
import time
from pydub import AudioSegment
from pydub.playback import play
path1 = 'F:/test/'
path_list1 = os.listdir(path1)
path_list1.sort() # 对读取的路径进行排序
for filename1 in path_list1:
song1 = AudioSegment.from_wav(path1 + '/' + filename1)
play(song1)
time.sleep(3)
2.实现一个音频文件间隔3s再次播放该音频文件
方法1:
import time
from pydub import AudioSegment
from pydub.playback import play
song1 = AudioSegment.from_mp3("test.mp3")#播放.mp3文件用该语句
#song1 = AudioSegment.from_wav("test.wav")#播放.wav文件用该语句
play(song1)
time.sleep(3)
方法2:
from playsound import playsound
import threading
def fun_timer():
playsound('test.mp3')#播放的音频文件
global timer#定义变量
timer = threading.Timer(3, fun_timer) #30秒调用一次函数,定时器构造函数主要有2个参数,第一个参数为时间,第二个参数为函数名
timer.start()#启用定时器
timer = threading.Timer(1, fun_timer) #首次启动
timer.start()
3.实现了1、2,如果还需要循环重复播放多次,可以参考下面脚本
import time
from pydub import AudioSegment
from pydub.playback import play
a = 1
while a |