当前位置: 首页 > news >正文

在vs中做网站如何连接数据库北京优秀网站设计公司

在vs中做网站如何连接数据库,北京优秀网站设计公司,店铺推广渠道有哪些方式,客户可以自主发帖的网站建设需求 近期有朋友拜托弄一批 mp3 放 U 盘里面以便开车的时候听#xff0c;于是下载了一批歌曲#xff0c;都整理成 歌曲名-歌唱者.mp3 这样的文件名。可是有些播放器会优先使用 ID3#xff08;即 mp3 文件的一个自带的信息段。顺便吐槽一下#xff0c;官方网站 https://id3…需求 近期有朋友拜托弄一批 mp3 放 U 盘里面以便开车的时候听于是下载了一批歌曲都整理成 歌曲名-歌唱者.mp3 这样的文件名。可是有些播放器会优先使用 ID3即 mp3 文件的一个自带的信息段。顺便吐槽一下官方网站 https://id3.org 居然打不开提示 500 错误 来罗列歌单而不是文件名这些 mp3 本身的 ID3 属性良莠不齐到时候就乱套了。因此需要逐个将文件名上面的歌曲、歌者信息写入 mp3 文件的 ID3 属性内。 实战 此类日常事务最方便的自然是 python 了。查了一下python 下的音频文件处理模块有 eyed3、pydub、pyAudio 等。其中的 eyed3 最为小巧便捷。完整代码如下 import os import eyed3def main(path):files os.listdir(path)counter 0for mp3 in files:if mp3[-3:] ! mp3 :continuetitle, artist get_title_artist_from_filename(mp3)# 调用 eyed3 模块写入歌曲信息try:audio eyed3.load(path / mp3)print(f[eyed3] load {mp3} success,, end )except:print(f[error] {mp3} load fail!)continueif(audio.tag None): # 部分歌曲 ID3 信息缺失audio.tag eyed3.id3.tag.Tag()audio.tag.title titleaudio.tag.artist artistprint(fready to write ID3: {title} {artist})audio.tag.save(versioneyed3.id3.ID3_V2_4, encoding utf8) # 指定使用 ID3 V2.4确保支持中文ref: ..\lib\site-packages\eyed3\id3counter 1print(f共处理了 {counter} 个 mp3 文件)def get_title_artist_from_filename(filename):通过文件名获取歌曲信息文件名样式歌曲名 - 歌唱人员.mp3prefix filename.split(.)[0]msg prefix.split(-) title msg[0].strip()artist msg[1].strip()return (title, artist)if __name__ __main__:mp3 d:/temp/经典老歌main(mp3)踩坑 这里最大的坑有两个 低版本 ID3 不支持 unicode导致写入的中文会变成一串的 ?部分歌曲本身不带 ID3 属性此时需要自行添加之。 下面逐一解释 指定 ID3 版本 有些歌曲自带的 ID3 属性是 v1.0 版本的只支持英文字母强行写入中文会导致乱码或者干脆显示成一串的 ?????。 解决这个问题的办法就在 eyed3.id3.tag.Tag.save()里面官方文档说给 save() 函数加上 version... 的参数确保使用高版本的 ID3 就可以支持 unicode。可是文档到这里就没了也没告诉我这个版本具体要怎么指定。 没办法只能打开下载的 eyed3 源代码找到函数定义发现 ID3 版本号都定义在 site_packages\eyed3\id3\__init__.py 里面直接取用即可。如下 # Version 1, 1.0 or 1.1 ID3_V1 (1, None, None) # Version 1.0, specifically ID3_V1_0 (1, 0, 0) # Version 1.1, specifically ID3_V1_1 (1, 1, 0) # Version 2, 2.2, 2.3 or 2.4 ID3_V2 (2, None, None) # Version 2.2, specifically ID3_V2_2 (2, 2, 0) # Version 2.3, specifically ID3_V2_3 (2, 3, 0) # Version 2.4, specifically ID3_V2_4 (2, 4, 0)因此我们使用 tag.save(versioneyed3.id3.ID3_V2_4, encoding utf8) 即可确保中文不乱码。 添加 ID3 属性 有些 mp3 文件本身不自带 ID3 属性此时 eyed3 调用 tag 属性就会出错。 运行一个 python 的交互界面手动生成一个 eyed3 对象检查 __dict__ 属性大致如下 import eyed3a eyed3.load(d:/temp/a/q.mp3)a.__dict__ {_tag_version: None, _path: d:\\temp\\a\\q.mp3, type: 1, _info: Mp3AudioInfo(time_secs316.78, size_bytes5056888), _tag: None}可以看到 _tag 属性为 None。解决办法就是自行生成一个 Tag 对象手动赋值即可。即代码中的 audio.tag eyed3.id3.tag.Tag() 这句 参考 eyed3 模块的官方文档[CSDN] Python读取音乐文件mp3标签信息——eyeD3[CSDN] ID3格式介绍
http://www.zqtcl.cn/news/797213/

相关文章:

  • 北京定制网站开发公司浩森宇特本机快速做网站
  • 校网站建设方案网站怎么优化关键词快速提升排名
  • 手机号注册的网站wordpress蚂蚁主题
  • 专业的集团网站设计公司优化网站服务
  • 深圳专业网站建设公司好吗个人网站排名欣赏
  • 百度网站流量查询网站建设流程总结
  • 使用代理服务器后看什么网站怎么做动态的实时更新的网站
  • 网站修改titlephp 网站下载器
  • 网站开发飞沐东莞人才市场档案服务中心
  • 北京中小企业网站建设智慧团建官网登录口手机版
  • wordpress插 件seo服务是什么
  • 推荐几个安全没封的网站湖南长大建设集团股份有限公司网站
  • 免费淘宝客网站模板下载怎么申请注册公司
  • 网站动画用什么做wordpress 主题 下载
  • 制作网站的app推动高质量发展的必要性
  • 网站建设培训个人企业的官网
  • 物流公司做网站佛山市城乡和住房建设局网站
  • 建设银行六安市分行网站云梦网络建站
  • 寿光专业做网站的公司有哪些网页制作基础教程黄洪杰
  • discuz可以做门户网站么江西省网站备案
  • 天眼查在线查询系统seo平台优化服务
  • 建设部网站 注册违规北京梵客装饰
  • 大连制作网站报价网站网站怎么做代理
  • php做网站如何架构品牌vi设计欣赏
  • 网站外链建设与文章发布规范网址例子
  • 外贸网站空间选择商业计划书
  • 手机作图软件app专业做邯郸网站优化
  • 济南网站定制制作wordpress theid
  • 企业网站建设能解决什么问题设计房子需要多少钱
  • 专业网站开发制作石家庄信息门户网站定制