如何在Python中按指定时间区间播放音频片段
解决方案:用pydub播放音频指定时间段片段
我之前刚好研究过类似需求,pydub这个Python库完全能满足你的要求——不需要修改或剪辑原音频文件,直接在内存中截取指定区间后播放就行,操作超简单!
操作步骤:
- 先安装pydub库(如果还没安装的话):
pip install pydub
注意:pydub依赖ffmpeg或avconv工具,你需要确保系统中已经安装了对应的工具哦
- 核心代码实现:
from pydub import AudioSegment from pydub.playback import play # 替换为你的音频文件实际路径 audiofile = "your_audio_file.wav" # 将时间转换为毫秒:例如0:30对应30*1000=30000,0:45对应45000 start_ms = 30000 end_ms = 45000 # 读取音频文件,这里以wav格式为例,其他格式如mp3也支持 sound = AudioSegment.from_file(audiofile, format="wav") # 截取指定时间区间的音频片段 splice = sound[start_ms:end_ms] # 播放截取好的片段 play(splice)
实用小提示:
- 时间转换逻辑很直观:把目标时间的总秒数乘以1000就得到毫秒数,比如1分20秒就是
80 * 1000 = 80000毫秒 - 除了wav格式,
pydub还支持mp3、flac等多种常见音频格式,只要修改format参数为对应格式即可 - 这种方式不会对原音频文件做任何修改,只是在内存中临时截取片段播放,非常灵活
内容的提问来源于stack exchange,提问作者jordansilva
相关产品推荐
相关产品推荐

