问题标签 [id3v2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1187 浏览

png - 如何将 id3v2 嵌入的 PNG 转换为 JPG?

我在我的 iPod Classic 上使用 Rockbox。它支持从 MP3 文件显示嵌入的专辑封面,但前提是这些图像具有 JPG 扩展名。

我的一些嵌入图像具有 PNG 扩展名。伴随的歌曲显示没有相应的专辑封面。

我正在寻找将这些嵌入图像更改为 JPG 格式的脚本,以便正确显示它们。

这不一定是 bash 脚本——任何编程语言都可以。

0 投票
2 回答
94 浏览

c - 使用 fwrite() 覆盖 C 中的 ID3v2 标签

出于某种原因,当我调用 fwrite() 时,它不会覆盖指针指向的文件。当我运行程序时,它显示文件的标签被用户指定的输入标签替换。在我使用单独的代码检查文件以查看当前标签后,标签根本没有被替换。我相信我使用 fwrite 的方式有问题,并认为它真的会覆盖文件。在这种情况下,标签是标题。这是代码:


这是我在大学里做的一个项目,我们被告知不允许使用 id3lib -.-

0 投票
1 回答
890 浏览

id3 - ID3 不同步:它是如何工作的

根据文档,ID3 标签有一个不同步标志。据我了解,它应该只应用于 ID3 帧(而不是页眉或页脚)。

但是在解析之前我应该​​如何处理帧(用于读取,而不是写入)?我应该只替换所有'11111111 111xxxxx'序列'11111111 00000000 111xxxxx'吗?

0 投票
2 回答
1769 浏览

perl - 如何从 Perl 中的 MP3 文件中读取 ID3v2 标签

如何从提供的 MP3 中读取 ID3v2 标签并在 Perl 中打印所有信息?示例代码将不胜感激

0 投票
1 回答
1202 浏览

c++ - 使用 C++ 的 mp3 的 ID3v2 标记

我需要读取 mp3 文件的 id3v2 标记并使用 C++ 计算其信息。如果有人可以提供一些指导。他将高度赞赏示例代码。

0 投票
4 回答
2027 浏览

c - c 中 fread() 和 strncpy() 中的空字符

我是一般的新程序员,我现在已经开始使用 c。我正在尝试解码 IDEv3 mp3 标签,但遇到了各种问题。当我使用 fread() 和 strncpy() 命令时,我注意到两者都需要将 \n 字符作为结束参考点。(也许我错了,这只是一个观察)

当我打印输出时,它们会产生一个不可读的字符。作为解决该问题的解决方案,我使用 fread() 4 个字节而不是 3 个,以便生成 (8)\n 个字符(整个字节),第二步我使用 strncpy() 和 3 个字节分配然后我用于打印的内存。理论上,当我使用 fread() 时,我不应该遇到这个问题。

代码示例:

0 投票
3 回答
325 浏览

c - 按位数组错误

我是编程新手,甚至更喜欢 c 编程。我正在尝试读取二进制文件,然后进行按位处理。我的代码示例以及到目前为止我是如何编写程序的。

当我编译代码时,我收到错误消息:

error: subscripted value is neither array nor pointer nor vector first.size = (first.size[3] & 0xFF) |

我试图将另一个值声明为:

unsigned int memory_int[4];

当我编译代码时,我收到警告:

warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 2 has type ‘unsigned int *’ [-Wformat=] printf ("This is memset memory_int: %u\n", memory_int);

尽管我将 %" PRIu32" 更改为 %u,但我仍然收到此警告。

到目前为止,我知道,当我使用时,我可以使用 name.parameter 调用内容,并且当我在需要时调用该值时typedef struct,程序似乎运行正常。first.size但是当我尝试按位时遇到问题,因为我要求将值分解为位。理论上它应该是可能的,因为我将它定义为 32 位,但实际上我错过了一些非常小的东西。我尝试将另一个值分配为 uint32_t 和 unsigned int size[4] 两次都没有成功。有人可以向我解释原因以及如何解决这个问题吗?

0 投票
2 回答
654 浏览

perl - 在 MP3 文件 Perl 脚本 ID3V2 标签中编辑艺术家姓名

我正在尝试编写一个 Perl 代码来编辑 ID3V2 标签,即开始的艺术家名称,我可以寻找并阅读它,但是当我尝试编写新的时,它只是用新的艺术家名称替换文件的所有内容并损坏文件我我是新手,所以请给我一些指导,因为我不认为使用下面的库是我尝试过的代码。

0 投票
2 回答
4256 浏览

php - 在 Ubuntu 上安装 PECL id3 扩展

我从一个星期开始就一直在尝试这个,当我尝试这个时仍然找不到答案,这个 sudo pecl install id3错误发生了

请帮忙 !!!我已经安装了 php5-dev。

0 投票
2 回答
2081 浏览

java - 以编程方式更改 id3 标签版本(pref java)

我需要一种以编程方式将 mp3 文件的 id3 标记版本更改为 id3v2.x 的方法,最好使用 java,尽管任何可行的方法都比没有好。如果它转换现有标签以使现有数据不会被破坏,而不是完全创建新标签,则会获得奖励积分。

编辑:Jaudiotagger 工作,谢谢。可悲的是,我不得不将其限制为 mp3 文件,并且只保存以前标签中包含的数据(如果它们是 id3. 我决定将标签转换为 ID3v2.3,因为 Windows 资源管理器无法处理 v2.4,而且由于程序对使用复制构造函数还是转换构造函数有点困惑,所以这有点棘手。