如何获取 QMediaPlaylist 中所有媒体的元数据?
How to get metadata of all media in QMediaPlaylist?
我正在开发一个实现媒体播放器的 Ubuntu qt 项目。由于 QMediaObject::metaData
只能获取当前媒体的元数据,我想知道是否有办法获取我在 QMediaPlaylist
中添加的所有歌曲的元数据以添加到 table。感谢任何帮助。
Qt Multimedia 只支持查询当前歌曲的元数据。一种可能是一次加载所有歌曲,当状态为 QMediaPlayer::LoadedMedia
(连接到 mediaStatusChanged()
信号)和 isMetaDataAvailable()
returns 为真时查询元数据,然后关闭媒体并移至下一个。
如果你想事先拥有所有音频文件的元数据,你需要使用一些其他的库或框架来扫描媒体文件并为你创建一个 "metadata database",然后你在显示所有音频文件的列表时使用它歌曲。
一个可能的解决方案是编写一个 Python 脚本,该脚本使用 Mutagen 模块来检索元数据。它支持 ASF、FLAC、MP4、Monkey’s Audio、MP3、Musepack、Ogg Opus、Ogg FLAC、Ogg Speex、Ogg Theora、Ogg Vorbis、True Audio、WavPack、OptimFROG 和 AIFF 音频文件。支持ID3v2所有版本,解析所有标准ID3v2.4帧
您可以google寻求帮助来编写脚本,例如如何使用 Python 和 Mutagen 访问这些 ID3 值
、Accessing mp3 Meta-Data with Python
当您将一首新歌曲添加到播放列表时,您可以通过 QMediaPlayer 加载歌曲以查询其元数据,或者启动一个查询元数据并添加到 "metadata database".
的脚本
我正在开发一个实现媒体播放器的 Ubuntu qt 项目。由于 QMediaObject::metaData
只能获取当前媒体的元数据,我想知道是否有办法获取我在 QMediaPlaylist
中添加的所有歌曲的元数据以添加到 table。感谢任何帮助。
Qt Multimedia 只支持查询当前歌曲的元数据。一种可能是一次加载所有歌曲,当状态为 QMediaPlayer::LoadedMedia
(连接到 mediaStatusChanged()
信号)和 isMetaDataAvailable()
returns 为真时查询元数据,然后关闭媒体并移至下一个。
如果你想事先拥有所有音频文件的元数据,你需要使用一些其他的库或框架来扫描媒体文件并为你创建一个 "metadata database",然后你在显示所有音频文件的列表时使用它歌曲。
一个可能的解决方案是编写一个 Python 脚本,该脚本使用 Mutagen 模块来检索元数据。它支持 ASF、FLAC、MP4、Monkey’s Audio、MP3、Musepack、Ogg Opus、Ogg FLAC、Ogg Speex、Ogg Theora、Ogg Vorbis、True Audio、WavPack、OptimFROG 和 AIFF 音频文件。支持ID3v2所有版本,解析所有标准ID3v2.4帧
您可以google寻求帮助来编写脚本,例如如何使用 Python 和 Mutagen 访问这些 ID3 值 、Accessing mp3 Meta-Data with Python
当您将一首新歌曲添加到播放列表时,您可以通过 QMediaPlayer 加载歌曲以查询其元数据,或者启动一个查询元数据并添加到 "metadata database".
的脚本