gpt4 book ai didi

java - 使用 JavaFX MediaPlayer 从 MP3 读取 ID3v2 标签

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:30 30 4
gpt4 key购买 nike

我有一些 MP3,以前在读取元数据时不会出现问题。使用JavaFXMediaPlayer.getMetadata()函数中,我从 mp3 文件中获取所有数据并将其存储在 ObservableMap<String, Object> 中 map 。这非常有效,然后我开始使用不同的 MP3。

标准显然是ID3v2 ,但我找不到任何有关 getMetadata 的文档函数以及它解析哪些类型的标签,以及它优先考虑哪些类型。现在我可以设法获取艺术家、专辑、标题和专辑艺术家,但其他标签(如轨道和轨道计数)不再起作用。当我加载元数据时,我首先打印出对 data.toString() 的调用。 。数据对象是 ObservableMap<String, Object> map 。它打印的格式很好,如下所示:

{album artist=LCD Soundsystem, artist=LCD Soundsystem, raw metadata={ID3=java.nio.HeapByteBufferR[pos=221 lim=4096 cap=4096]}, title=You Wanted a Hit, album=This Is Happening}

我之前使用的MP3在这张 map 上有轨道、轨道总数、年份和其他元数据,我不知道为什么他们不再读取。我尝试在 MP3 标签编辑器中保存为所有格式的标签(包括 ID3v1ID3v2APE ),但它仍然拒绝加载这些特定标签。

除了 getMetadata 的常规 Oracle javadoc 之外,我仍然没有找到任何文档。函数,如果有人能指出我正确的方向,那就太好了。

最佳答案

看来我已经解决了这个问题。我使用的标记实用程序默认为 ID3v2.3@utf16。我使用 MP3Tag 将它们转换为 ID3v2.4@utf8。现在所有字段都已正确加载。

如果任何人都可以提供有关 map 中返回的数据类型或它将返回的其他标签的任何额外文档,那就太好了。

关于java - 使用 JavaFX MediaPlayer 从 MP3 读取 ID3v2 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20581937/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com