Python获取.wav音频的时长
生活随笔
收集整理的這篇文章主要介紹了
Python获取.wav音频的时长
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
要求是這樣的:
給你一個.wav的音頻,要求獲取這個音頻的時長。這里需要用到兩個模塊,contextlib和 wave。
方法1:
import contextlib import wave file_path = r"Z:\projectm\822.wav" with contextlib.closing(wave.open(file_path, 'r')) as f:frames = f.getnframes()rate = f.getframerate()wav_length = frames / float(rate)print("音頻長度:",wav_length,"秒")結(jié)果:
音頻長度: 3.771 秒
方法2:
def get_file_duration(path):"""獲取單個wav文件時長:param path: 文件路徑:return:"""popen = os.popen('sox {file_path} -n stat 2>&1'.format(file_path=path))content = popen.read()li = re.findall('Length \(seconds\):(.*?)Scaled by:', content, re.DOTALL)try:wav_len_str = li[0].strip()except Exception:wav_len_str = popen.readlines()[1].split()[-1]wav_len = float(wav_len_str)popen.close()return wav_len總結(jié)
以上是生活随笔為你收集整理的Python获取.wav音频的时长的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python的列表List常见操作
- 下一篇: python正则匹配所有的中文,数字和英