位置: 编程技术 - 正文

详解python进行mp3格式判断(python mp3play)

编辑:rootadmin

推荐整理分享详解python进行mp3格式判断(python mp3play),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python mp3play,python3播放mp3文件,如何用python放音乐,python播放mp3文件 playsound,python读取mp3数据,python读取mp3数据,python读取mp3数据,python mp3play,内容如对您有帮助,希望把文章链接给更多的朋友!

项目中使用mp3格式进行音效播放,遇到一个mp3文件在程序中死活播不出声音,最后发现它是wav格式的文件,却以mp3结尾。要对资源进行mp3格式判断,那么如何判断呢,用.mp3后缀肯定不靠谱,得从编码格式判断,方法如下:

1.mp3编码

MP3文件是一种流媒体文件格式,所以没有文件头。像AVI、WAV这种有文件头的格式,很好判断,他们都是RIFF开头的,只要进行RIFF字符串对比,就可以查出是否是AVI、WAV,而mp3就只能分析编码格式了。这里大概说mp3编码规则一下,详细的可用参考这篇文章

MP3 文件大体分为三部分:TAG_V2(ID3V2),音频数据,TAG_V1(ID3V1)

a). ID3V2 在文件开始的位置,以ID3开头,包含了作者,作曲,专辑等信息,长度不固定,扩展了ID3V1 的信息量,非必需

b). 一系列的音频数据的帧,在文件的中间位置,个数由文件大小和帧长决定;每个帧都以FFF开头,的长度可能不固定,也可能固定,由位率bitrate决定;每个帧又分为帧头和数据实体两部分;帧头记录了mp3 的位率,采样率,版本等信息,每个帧之间相互独立 。

c). ID3V1在文件结尾的位置,以TAG开头,包含了作者,作曲,专辑等信息,长度为Byte,非必须。

ID3V2

包含了作者,作曲,专辑等信息,长度不固定,扩展了ID3V1的信息量。

详解python进行mp3格式判断(python mp3play)

Frame

.

.

.

Frame

一系列的帧,个数由文件大小和帧长决定

每个FRAME的长度可能不固定,也可能固定,由位率bitrate决定

每个FRAME又分为帧头和数据实体两部分

帧头记录了mp3的位率,采样率,版本等信息,每个帧之间相互独立。

ID3V1

包含了作者,作曲,专辑等信息,长度为BYTE。

也就是说,根据TAG_V2(ID3V2),音频数据,TAG_V1(ID3V1)三结构中的开头信息,便可以判断出是不是mp3编码的文件。

2.python代码

标签: python mp3play

本文链接地址:https://www.jiuchutong.com/biancheng/382474.html 转载请保留说明!

上一篇:详解python发送各类邮件的主要方法(python怎么发送)

下一篇:解决pyqt中ui编译成窗体.py中文乱码的问题(pyqt5编译)

  • 一般纳税人增值税怎么做账务处理
  • 生产企业免抵退税申报步骤
  • 网上申报纳税操作视频
  • 税控财务软件装什么系统
  • 电子税务局如何删除办税人员
  • 继续教育容易过吗
  • 工程管理服务属于哪个国标行业
  • 工会经费支付福利方案
  • 购买车辆的保险怎么入账
  • 小微企业免税收入有哪些
  • 长期借款费用会减少吗
  • 房地产增值税怎么算举例说明
  • 应收账款和长期应收款区别
  • 抵押贷款合同印花税怎么算
  • 服务性合同签了能反悔吗
  • 税务清算审计需要多久
  • 特殊业务分录
  • 公积金是交当月还是上月
  • 对境外支付佣金的规定
  • 公司邀请外国人来华邀请函模板
  • 现金流量表的编制原则为( ),是( )的概念
  • 应收账款产生的利息分录
  • 用苹果macbook pro怎样
  • 政府搬迁补偿款不够建房怎么办
  • 交接目录excel
  • 微软win11预览版
  • 企业购入固定资产在每期末应使用公允价值法进行计量
  • 支付本月物业费怎么做账
  • php数据库连接失败怎么办
  • 有哪些常见的不可数名词英语
  • 融资租入资产的入账价值可能是()
  • php封包
  • 多角度分析数据
  • transformers document
  • fall 瀑布
  • vue3加ts
  • 部门差旅费预算表
  • 可回收垃圾有哪些?
  • vite2.0 vue
  • php字符串型数据的定义方式
  • tcpreplay命令详解
  • 应收账款提了坏账后收回
  • 预付的购货款计入什么科目
  • 建筑企业总包单位有哪些
  • Philtron: a PHP Proxy for HTTP
  • 新旧会计准则口径
  • 固定资产货币化,货币资产保险化,保险资产信托化
  • 企业转让固定资产增值税税率
  • 未能确认收入的原因
  • sql server标识符
  • 成本票和进项票举例说明
  • row number函数的使用场景
  • 成立业主委员会申请书
  • 给慈善机构捐款英语
  • 机票差额发票和全额发票的区别
  • 完税凭证是什么样子
  • 差额征税问题
  • 以前年度损益调整会计分录
  • 各类奖金正确的排序
  • 应付账款转入营业外收入的证明
  • 产品成本核算要求有哪几项
  • 小规模纳税人如何缴纳企业所得税
  • 旅行社代订机票怎么做账
  • mybatis collection 多条件查询的实现方法
  • macos safari无法使用
  • 硬盘安装后不显示
  • 不需要秘密的wifi安全吗
  • win10系统遇到错误
  • centos6.8分区方案
  • win7系统开机出现英文字母
  • win7系统无法自动检测此网络的代理设置
  • win8开机界面
  • nodejs 程序 打包服务端
  • linux查看远程服务是否开启
  • 如何自定义手机图标
  • 个人所得税明细申报记录 厦门
  • 洗煤与选煤
  • 正外部性与负外部性的定义
  • 国税局云南省电子税务局
  • 税务局的人为什么那么拽
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设