使用 php 设置 mp3 的专辑封面
我正在寻找使用 PHP 设置 mp3 专辑艺术的最佳或任何方法。
建议?
I am looking for the best or any way to set the Album Art of mp3s using PHP.
Suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
我不只是分享专辑封面更新的代码,我将在这里发布 getID3 的整个 MP3 包装类,以便您可以随心所欲地使用。
用法
类
注意
目前还没有任何错误处理代码。 目前,当我尝试运行任何操作时,我只是依赖异常。
请随意修改并适合使用。 需要 PHP GETID3
Rather than just share the code for album art update, I an going to post my entire MP3 wrapper class of getID3 here so you can use as you wish
Usage
Class
Note
There isn't any error handling code yet. Currently, I am just relying on exceptions when I try to run any operations.
Feel free to modify and use as fit. Requires PHP GETID3
使用 Composer 安装 getId3
composer require james-heinrich/getid3
然后使用此代码更新您的 id3 标签
Install getId3 using composer
composer require james-heinrich/getid3
Then Use this code to update your id3 tags
您可以查看 getID3() 项目。 我不能保证它可以处理图像,但它确实声称能够为 MP3 写入 ID3 标签,所以我认为这将是您最好的选择。
You can look into the getID3() project. I can't promise that it can handle images but it does claim to be able to write ID3 tags for MP3s so I think it will be your best bet.
以下是使用 getID3 添加图像和 ID3 数据的基本代码。 (@frostymarvelous 的包装器包含等效的代码,但我认为展示基础知识很有帮助。)
Here is the basic code for adding an image and ID3 data using getID3. (@frostymarvelous' wrapper includes equivalent code, however I think that it is helpful to show the basics.)
@carrp $Tagdata 代码将无法工作,除非每个值属性都是一个数组,例如
@carrp the $Tagdata code won't work unless each value property is an array e.g.
使用 PHP 的这个内置函数,
Use this inbuilt function of PHP,
我认为 PHP 不可能做到这一点。 我的意思是,我认为一切皆有可能,但它可能不是原生 PHP 解决方案。 从 PHP 文档,我认为唯一的项目可以更新的有:
对不起,伙计。 也许 Perl、Python 或 Ruby 可能有一些解决方案。
我不确定你是否熟悉 Perl(我个人不喜欢它,但是,它擅长做这样的事情......)。 下面的脚本似乎能够在 MP3 中提取和编辑专辑封面: http: //www.plunder.com/-download-66279.htm
I don't think it's really possible with PHP. I mean, I suppose anything is possible but it may not be a native PHP solution. From the PHP Docs, I think the only items that can be updated are:
Sorry man. Maybe Perl, Python, or Ruby might have some solution.
I'm not sure if you are familiar with Perl (I personally don't like it, but, it's good at things like this...). Here's a script that seems to be able to pull in and edit album art in an MP3: http://www.plunder.com/-download-66279.htm
专辑封面是根据 ID3v2 规范标识为“附加图片”的数据框,并且
getID3() 现在只是用纯 PHP 在 ID3v2 中写入所有可能的数据帧的一种方法。
看这个来源:
http://getid3.sourceforge.net/source/write.id3v2.phps
在源中搜索这段文字:
有一段代码负责编写专辑封面。
另一种方法似乎不像纯 PHP 慢,是使用一些外部应用程序,该应用程序将由 PHP 脚本启动。 如果您的服务设计为在高负载下工作,二进制编译工具将是更好的解决方案。
Album art is a data frame identified as “Attached picture” due ID3v2 specification, and
getID3() now is only one way to write all possible data frames in ID3v2 with pure PHP.
Look at this source:
http://getid3.sourceforge.net/source/write.id3v2.phps
Search for this text in the source:
there's a piece of code responsible for writing album art.
Another way, that seems to be not as slow as pure PHP, is to use some external application, that will be launched by PHP script. If your service designed to work under a high load, binary compiled tool will be a better solution.
更好(更快)的方法是通过外部应用程序和 PHP exec() 函数来执行命令。 我会推荐 eyeD3。
A better (faster) way to do this would be through an external application and the PHP exec() function to fun a command. I would recommend eyeD3.
不确定这仍然是一个问题,但是:
令人惊讶的完整 getid3() (http://getid3.org) 项目将解决你所有的问题。 看看这个< /a> 论坛帖子以获取更多信息。
Not sure this is still an issue but:
the amazingly complete getid3() (http://getid3.org) project will solve all your problems. Check out this forum post for more info.