位置: 编程技术 - 正文

详解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编译)

  • 个人应纳税所得额20万交多少税
  • 企业股东分红怎么交税
  • 企业银行流水可以同步到T+软件中,自动生成凭证了
  • 等线补交以前年度附加税会计分录
  • 一般纳税人企业所得税税率2023
  • 购车增值税可以抵扣多少
  • 小规模印花税是季报还是月报
  • 消费卡预付卡能入账吗
  • 企业所得税计算方法举例说明
  • 报关单上单位名称写千克还是kg
  • 业务招待费包括住宿费吗
  • 流动性比率小于3说明什么
  • 产品因质量问题造成损害的,应当承担责任的主体是
  • 小微企业企业税率表
  • 电子发票如何报销做账
  • 携税宝可以不买吗
  • 利润表所得税费用计算公式
  • 单位买酒报销如何做账
  • 建筑服务税率是5
  • 医疗服务免税发票怎么开
  • 小规模纳税人一个月能开多少税票
  • 财务报表第一季度引用的期初数是第四季度还是年报
  • 如何修复在感情中受的伤害
  • 报考中级会计的工作证明
  • 在win7中,打开资源管理器的快捷键
  • win10任务栏怎么隐藏
  • 一次性工伤医疗补偿金怎么算
  • 公司出租房屋租金由承租方本人支付
  • php字符串操作函数
  • 小规模年底税金怎么算
  • 中国各省市区域划分
  • el-upload上传文件大小限制
  • 应付职工薪酬包括个人社保和个税吗
  • DeepLabV3+:Mobilenetv2的改进以及浅层特征和深层特征的融合
  • 跨年度发票会计分录
  • thinkphp3.2.3
  • 什么是非营利性养老机构
  • 销售提成收入证明怎么写
  • 原始凭证必须来源于外部吗
  • 什么叫web渗透测试
  • php开启mysql扩展
  • ls命令的作用
  • 当月确认收入可以下月确认成本吗
  • python @time
  • 现金付款凭证是发票吗
  • 配电室增容验收标准
  • 所得税费用是属于费用类吗
  • 期末进行存货清查
  • 一般纳税人销售旧货可以开专票吗
  • 利润表中其他业务利润怎么算
  • 超市买太多东西怎么拿走
  • 发行债券支付的发行费用计入哪里
  • 减少实收资本会影响资产吗
  • 建筑工程社会实践报告
  • 前程无忧是怎么收费的
  • 建筑企业工程施工科目怎么结转
  • 车辆保险证明怎么开
  • 进项发票超过期限不认证怎么办
  • mysql 5.7.30安装
  • window 虚拟化
  • win7电脑频繁自动重启是什么原因造成的
  • proflwiz.exe - proflwiz是什么进程 有什么用
  • win8屏幕分辨率显示不全
  • 极限竞速中心应用程序
  • ExtJS4如何给同一个formpanel不同的url
  • 谈谈Jquery ajax中success和complete有哪些不同点
  • android下拉刷新上拉加载
  • bat 批处理文件
  • javascript的理解
  • onclick和onfocus
  • js 队列
  • python运行批处理文件
  • 安卓中px,dp,sp的区别
  • 开出去的专用发票存根怎么处理的
  • 陕西省医保缴费截止日期2024
  • 种子在什么情况下能发芽
  • 诊所备案申请表在哪下载
  • 网上办税服务厅
  • 非法印制发票的后果
  • 转卖车辆车船税多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设