https://github.com/selective-php/audio-type
Audio format detector for PHP
https://github.com/selective-php/audio-type
audio audio-formats audio-library php
Last synced: about 1 year ago
JSON representation
Audio format detector for PHP
- Host: GitHub
- URL: https://github.com/selective-php/audio-type
- Owner: selective-php
- License: mit
- Created: 2019-09-07T11:14:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-09-09T12:32:10.000Z (over 2 years ago)
- Last Synced: 2025-03-29T12:04:51.160Z (about 1 year ago)
- Topics: audio, audio-formats, audio-library, php
- Language: PHP
- Size: 5.22 MB
- Stars: 5
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# selective/audio-type
Audio format detection library for PHP.
[](https://packagist.org/packages/selective/audio-type)
[](LICENSE)
[](https://github.com/selective-php/audio-type/actions)
[](https://scrutinizer-ci.com/g/selective-php/audio-type/code-structure)
[](https://scrutinizer-ci.com/g/selective-php/audio-type/?branch=master)
[](https://packagist.org/packages/selective/audio-type/stats)
## Features
* Detection of the audio type based on its header
* No dependencies
* Very fast
### Supported formats
* **MP3** (MPEG-1 Audio Layer III)
* **WAV** (WAVE PCM soundfile format)
* **MIDI** (Musical Instrument Digital Interface)
* **FLAC** (Free Lossless Audio Codec)
* **OGA** (OGG Vorbis sound format)
* **MKA** (Audio-only Matroska container)
* **WEBM** (Audio only)
* **RealAudio** (It contains only audio)
* **AIFF** (Audio Interchange File Format)
* **CAF** (Apple Core Audio File)
* **AAC** (Advanced Audio Coding)
* **WMA** (Windows Media Audio)
* **RMI** (RIFF-MIDI Audio)
* **AU** (AU Audio)
## Requirements
* PHP 8.1+
## Installation
```
composer require selective/audio-type
```
## Usage
### Detect the audio type of file
```php
use Selective\AudioType\AudioTypeDetector;
use Selective\AudioType\Provider\DefaultAudioProvider;
use SplFileObject;
$file = new SplFileObject('example.mp3');
$detector = new AudioTypeDetector();
// Add audio detectors
$detector->addProvider(new DefaultAudioProvider());
$audioType = $detector->getAudioTypeFromFile($file);
// Get the audio format
echo $audioType->getFormat(); // mp3
// Get the mime type
echo $audioType->getMimeType(); // audio/mp3
```
### Detect the audio type of in-memory object
```php
use Selective\AudioType\AudioTypeDetector;
use Selective\AudioType\Provider\DefaultAudioProvider;
use SplTempFileObject;
$audio = new SplTempFileObject();
$audio->fwrite('my file content');
$detector = new AudioTypeDetector();
// Add audio detectors
$detector->addProvider(new DefaultAudioProvider());
echo $detector->getAudioTypeFromFile($audio)->getFormat();
```
## License
The MIT License (MIT). Please see [License File](LICENSE) for more information.