gpt4 book ai didi

c++ - 使用 TagLib 编写 ID3v2 元数据

转载 作者:行者123 更新时间:2023-11-28 08:19:40 25 4
gpt4 key购买 nike

我正在写一个音乐开膛手,现在已经写了好几天了。除设置元数据外,一切正常。我正在下载原始 PCM 数据,使用 ffmpeg.exe 编码为 MP3,然后将元数据设置为文件。我知道 ffmpeg.exe 可以写入元数据,但它不适合我的需要,因为在命令行中指定元数据时我无法写入字符 (")。此外,ffmpeg.exe 将我的数据最多削减 30 个字符,这也是我在使用 TagLib 时遇到的问题:

TagLib::FileRef f("some_mp3.mp3");

f.tag()->setArtist("Loooooooooooooooooooooooooooooooooooong Artist");
f.tag()->setAlbum("Loooooooooooooooooooooooooooooooooooong Album");
f.tag()->setTitle("Loooooooooooooooooooooooooooooooooooong Title");
f.tag()->setTrack(37);

f.save();

似乎这段代码使用的是 ID3v1,因为它将长字符串裁剪为仅 30 个字符,是的,我确实阅读了一些关于此的维基百科:P 我需要它来使用 ID3v2 来提供长数据。有什么想法吗?

最佳答案

正如我从 ffmpeg 文档中了解到的那样,ffmpeg.exe 使用的是蹩脚的编解码器。因此,您可能想检查如何配置 lame 而不是 ffmpeg。 Lame 有 ID3 标签选项,看看他们的主页:http://lame.cvs.sourceforge.net/viewvc/lame/lame/USAGE

关于c++ - 使用 TagLib 编写 ID3v2 元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6321270/

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