debach / zend-mp3
The best PHP library for Object-Oriented media file information reading and writing.
Installs: 34 037
Dependents: 1
Suggesters: 0
Security: 0
Stars: 5
Watchers: 4
Forks: 9
Open Issues: 0
This package is auto-updated.
Last update: 2024-12-16 08:41:45 UTC
README
The PHP Reader is a library written in PHP to read and write media files and their information headers in an object-oriented manner. Currently supported formats are ASF (Windows Media Player files, i.e. WMA, WMV, etc), ID3, including both ID3v1 and ID3v2 (MPEG files, i.e. MP3), MPEG Audio Bit Stream (i.e. ABS, MP1, MP2, MP3), MPEG Program Stream (MPEG movies, and DVD and HD DVD video discs, i.e. MPG, MPEG, VOB, EVO), and ISO Base Media File Format (eg QuickTime, MPEG-4 and iTunes AAC files, i.e. QT, MOV, MP4, M4A, M4B, M4P, M4V, etc).
The library was written by Sven Vollbehr and is hosted originally at Google Code. This Github fork just adds support for the PSR-0 autoloading standard for Composer.
Installation
Install PHP Reader with composer via
composer require debach/zend-mp3:dev-master
composer install
How to use PHP Reader
PHP reader has a nice documentation both on its website and in the code. What follows are a couple of examples to give you a quick start. PHP reader can do a lot more than what is covered here.
Reading the duration of an MP3 file
To retrieve the estimated duration in seconds from an MP3 file, proceed as follows:
$abs = new Zend_Media_Mpeg_Abs('file.mp3');
$length = $abs->getLengthEstimate();
You can get the exact duration with $abs->getLength()
, but it requires to read every frame of the MP3 file. Usually, the estimated duration is already very accurate and much faster.
Reading ID3 tags
Use the Zend_Media_Id3v2
class to read or write ID3 information (official documentation):
$id3 = new Zend_Media_Id3v2('file.mp3');
$frame = $id3->getFramesByIdentifier('TIT2'); // for song title; or TALB for album title; ..
$title = $frame[0]->getText();
$frame = $id3->getFramesByIdentifier('TALB');
$album = $frame[0]->getText();