Qt能解析MP3里面的专辑图片,歌曲名,艺术家这些信息吗?

hy295683872 2012-10-13 01:46:24
前段时间用Qt的phonon插件做了个播放器,界面效果用的是qml做的。现在我疑惑的是,一般MP3有的有专辑图片,Qt的phonon能不能将其解析出来呢?或者有没有什么办法能将其图片解析出来,通过c++与qml交互,显示到qml里面去呢?
...全文
1692 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
飘O叶 2014-03-05
  • 打赏
  • 举报
回复
我是Qt5.0.2的windows版本,音乐标签就是获取不到,请问
引用 1 楼 xiachm 的回复:
我之前也做过基于QML的播放器,当时我没有找到提取专辑图的方法,不过倒是有歌曲名、艺术家等的提取方法,看一下MediaObject::metaData,注意,提取过程是异步的,你必须等待metaDataChanged信号发射后再来取。 至于专辑图,我当时是自己解析的MP3音乐文件,从里面提取出图片。但目前只支持ID3 v3这一个常用的版本。 MP3的文件格式称为ID3,你以“ID3+专辑图”,类似这样的关键词搜一下就能找到。其实很简单,无非就是到一个指定的位置去找图片的二进制信息。我的代码不超过40行,相信其它版本也难不了哪里去。 当然,这个功能放在C++里做会更好些。
我是Qt creator 5.0.2的windows版本,就是不能获取音乐标签,或者说获取到的是空值,判断标签是否可用也是返回的false……这个怎么解决?
gueux0000 2013-09-06
  • 打赏
  • 举报
回复
貌似用vi获取377等数据开始的都是专辑图片 可以去试试调用
Jncpp 2013-04-28
  • 打赏
  • 举报
回复
引用 1 楼 xiachm 的回复:
我之前也做过基于QML的播放器,当时我没有找到提取专辑图的方法,不过倒是有歌曲名、艺术家等的提取方法,看一下MediaObject::metaData,注意,提取过程是异步的,你必须等待metaDataChanged信号发射后再来取。 至于专辑图,我当时是自己解析的MP3音乐文件,从里面提取出图片。但目前只支持ID3 v3这一个常用的版本。 MP3的文件格式称为ID3,你以“ID3+专辑图”,类似这样的关键词搜一下就能找到。其实很简单,无非就是到一个指定的位置去找图片的二进制信息。我的代码不超过40行,相信其它版本也难不了哪里去。 当然,这个功能放在C++里做会更好些。
大师回答果然一阵见血,请教一下这个异步获取歌曲信息该怎么处理呢
xiachm 2012-10-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
前辈。您的头像看着很和蔼。
[/Quote]
谨以此头像向真正的前辈,齐亮大哥致敬。我得承认,我俩有点像,呵呵
coderchenjingui 2012-10-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我之前也做过基于QML的播放器,当时我没有找到提取专辑图的方法,不过倒是有歌曲名、艺术家等的提取方法,看一下MediaObject::metaData,注意,提取过程是异步的,你必须等待metaDataChanged信号发射后再来取。

至于专辑图,我当时是自己解析的MP3音乐文件,从里面提取出图片。但目前只支持ID3 v3这一个常用的版本。

MP3的文件格式称为ID3,你以“ID3+……
[/Quote]

前辈。您的头像看着很和蔼。
coderchenjingui 2012-10-14
  • 打赏
  • 举报
回复
必须可以,主要就是把音乐看成普通的文件即可,各种信息就是结构体中的数据,现在主要是ID3V2.3格式的MP3,好好看看这个音乐格式即可
xiachm 2012-10-13
  • 打赏
  • 举报
回复
我之前也做过基于QML的播放器,当时我没有找到提取专辑图的方法,不过倒是有歌曲名、艺术家等的提取方法,看一下MediaObject::metaData,注意,提取过程是异步的,你必须等待metaDataChanged信号发射后再来取。

至于专辑图,我当时是自己解析的MP3音乐文件,从里面提取出图片。但目前只支持ID3 v3这一个常用的版本。

MP3的文件格式称为ID3,你以“ID3+专辑图”,类似这样的关键词搜一下就能找到。其实很简单,无非就是到一个指定的位置去找图片的二进制信息。我的代码不超过40行,相信其它版本也难不了哪里去。

当然,这个功能放在C++里做会更好些。

16,810

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧