要求是这样的:

给你一个.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,"秒")

结果:

音频长度: 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

Python获取.wav音频的时长相关推荐

  1. Python获取mp3音频文件时长方法汇总

    '''pymediainfo: pip3 install pymediainfo 版本:5.1.0不支持网络音频 ''' class pymediainfoTest():@classmethoddef ...

  2. sox 获取wav文件的时长

    1> 获取某个.wav的时长信息 sox "F:\第10集 奔跑的"蜗牛"(1).wav" -n stat 2> 批量计算文件下所有.wav文件的时 ...

  3. Java 获取opus 音频文件时长

    当时为了获取时长花费好长时间,所以现在写出这文章以免后面有遇到该问题不止如何解决花费太长时间.话不多说,上代码 需要的依赖包有 <!-- https://mvnrepository.com/ar ...

  4. python获取网页播放视频时长_python 获取目录视频时长,大小

    #!/usr/bin/python # -*- coding:utf-8 -*- import os import sys import re import xlwt import csv from ...

  5. mp3、amr、wav三种音频格式时长获取

    在平时开发过程中可能遇到需要上传相关音频文件到后台,并且计算各种音频文件的时长,因此对三种音频格式(mp3.amr和wav)的时长计算进行了简单的调研,现将相关实现记录一下,也方便需要的朋友查看. ( ...

  6. Android 播放raw文件夹下音频文件,本地MP3文件播放,播放云端MP3文件,获取MP3文件播放时长

    1.复制音频文件到raw文件夹下 2.实例化音频文件 private final MediaPlayer.OnCompletionListener beepListener = new MediaPl ...

  7. php获取音频的时长,PHP编程获取音频文件时长的方法【基于getid3类】

    本文实例讲述了PHP编程获取音频文件时长的方法.分享给大家供大家参考,具体如下: 问题: 昨天在新增论坛功能的时候,移动端显示音频文件需要知道是多长的音频: 具体解决方案如下: 首先就是数据库中增加保 ...

  8. python对wav音频可视化

    文章目录 前言 一.导入包以及音频文件 二.信号+傅里叶变换 三.Mel谱图 四.Log_Mel谱图 总结 前言 本文主要是使用代码实现音频文件(wav)的多种可视化. 1.信号 2.傅里叶变换 3. ...

  9. 统计文件夹下音频文件时长

    统计音频文件时长 功能 代码 主要分析 提取文件的音频时长 读取文件夹下的所有文件的绝对路径 写这个主要是为了能更好的安排自己的学习时间,学习视频的时长很难直观的看总和时间,导致安排的时间没有很好的规 ...

最新文章

  1. 内存对齐与ANSI C中struct型数据的内存布局 【转】
  2. pbar PermissionError
  3. 在嵌入式Neo4j中使用Neo4j浏览器
  4. CentOS修改yum源【噗哈哈】
  5. html地址--待更新
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的志愿者服务管理系统
  7. 大型网站技术学习-3. 容器Docker与kubernetes
  8. 关于java的局部知识点总结
  9. 《Linux内核分析》 week6作业-Linux内核fork()系统调用的创建过程
  10. 小红帽系统进入oracle,11G RAC 安装在红帽6上,grid跑root.sh报错
  11. 如何用java实现一个p2p种子搜索(4)-种子获取
  12. 用微信网页版阅读文章
  13. sprintboot验证码kaptcha 自定义图片样式
  14. 微信自动投票的php代码
  15. CLIP:从自然语言监督中学习可迁移的视觉模型
  16. 还在原地踏步,提高软件测试能力的方法你知道吗?
  17. 关于物联网的误区,你有没有中招?
  18. lenb和len的区别
  19. 阿里巴巴给我们的启示--个人评论
  20. 移动设备上“精灵图”的制作

热门文章

  1. 在大促中什么影响了数据库性能
  2. id选择器、标签选择器、类选择器、交集选择器、并集选择器
  3. FastDFS配置手册trackerstorage
  4. 【Homework】说出 == 和 equals 的区别
  5. python中output使用_python-02.输入Input/输出Output
  6. 【报错笔记】 启动tomcat服务器报错Context initialization failed
  7. 【报错笔记】MAVEN pom.xml 报错解决方法
  8. Linux---输入与输出函数总结
  9. java中定时器的使用
  10. 从“美屋”到“打扮家”:线下VR家居馆中的科技新体验