在给定的时间戳下以python播放音频

时间:2019-02-09 03:50:53

标签: python audio

我正在尝试在python中找到一种在给定开始时间和结束时间的情况下播放音频文件的一部分的方法。

例如,说我有一个持续时间为1分钟的音频文件。我想从0:30到0:45播放该部分。

我不想处理或拼接文件,仅播放给定部分。

任何建议将不胜感激!

更新:

也许有更好的方法,但是我找到了使用pydub的解决方案:

from pydub import AudioSegment
from pydub.playback import play

audiofile = #path to audiofile
start_ms = #start of clip in milliseconds
end_ms = #end of clip in milliseconds

sound = AudioSegment.from_file(audiofile, format="wav")
    splice = sound[start_ms:end_ms]
    play(splice)

2 个答案:

答案 0 :(得分:0)

第一步是让您的python播放整个音频文件...有几个可用的库...请查看该库是否有特定时间的api调用...您可以随时袖手旁观并实现此功能在将音频文件读入缓冲区或可能流传输该文件并在所选时间段结束时停止流传输之后,您自己

另一种替代方法是利用ffmpeg这样的命令行工具,它是音频处理的瑞士军刀... ffmpeg具有命令行输入参数,可以执行特定于时间的开始和停止操作...也可以查看其同级ffplay

类似于ffplay / ffmpeg的是另一个名为sox的命令行音频工具

答案 1 :(得分:0)

使用PyMediaPlayer。查看函数SeekTo()和SeekEndTime()。我认为您可以在使用这些功能之后找到合适的解决方案。