falahati/php-mp3

PHP-MP3 是一个用于读取和操作 MPEG 音频(MP3)的简单库

v0.9.5-alpha2 2017-11-01 17:48 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:18:04 UTC


README

PHP-MP3 是一个用于读取和操作 MPEG 音频(MP3)的简单库。

这个库基于同名项目 thegallagher,该项目本身基于 regin 的脚本。

这不是一个编码器或解码器,因此无法更改 MP3 属性,如比特率、采样大小和采样率。它是一个 MPEG 音频 解析器,因此应该只用于修改/创建/读取有效的 MP3 容器。

如何获取

您可以使用 composer 安装并使用此库

composer require falahati/php-mp3:dev-master

特性

  • 正确识别 MPEG 音频版本 1、2 和 2.5
  • 正确识别 MPEG 音频配置文件 1、2 和 3
  • 正确提取比特率和采样率信息
  • 正确计算 MPEG 音频流持续时间
  • 帧地址恢复允许代码正确解析损坏的数据
  • 修剪(裁剪)MPEG 音频数据并合并多个 MPEG 音频流
  • 可以从开始和结束的 ID3(或类似)元数据信息中删除 MPEG 音频数据

帮助我资助我的死亡星

-- 或者 --

您也可以通过为项目做出贡献或将项目介绍给他人来捐赠您的宝贵时间。

示例

从 MP3 文件中删除 ID3 标签

\falahati\PHPMP3\MpegAudio::fromFile("old.mp3")->stripTags()->saveFile("new.mp3");

裁剪 MP3 文件以提取从第 10 秒开始的 30 秒预览

\falahati\PHPMP3\MpegAudio::fromFile("old.mp3")->trim(10, 30)->saveFile("new.mp3");

将内存中存储的 MP3 数据追加到 MP3 文件末尾

\falahati\PHPMP3\MpegAudio::fromFile("old.mp3")->append(\falahati\PHPMP3\MpegAudio::fromData(base64_decode("/**BASE64-DATA**/")))->saveFile("new.mp3");

提取 MP3 文件的总持续时间

echo \falahati\PHPMP3\MpegAudio::fromFile("old.mp3")->getTotalDuration();

待办事项列表

  • 添加单元测试
  • 能够直接从 resource 加载和操作数据
  • 能够在保存前向 MPEG 音频添加简单的 ID3 元数据信息

许可协议

版权 (C) 2017-2020 Soroush Falahati

本项目受 GNU Lesser General Public License ("LGPL") 许可,因此可用于封闭源或商业项目。但是,对主要代码的任何提交或更改都必须是公开的,并且应在项目中包含一个说明文件,以及 DLL 许可说明和其条款,以及指向此存储库的超链接。 了解更多关于 LGPL 的信息