dev-master
9999999-devPHP wrapper for LAME (MP3 encoder)
The Requires
- php >=5.3
The Development Requires
- phpunit/phpunit >=3.7
- mikey179/vfsstream >=1
- satooshi/php-coveralls dev-master
by Bernard Baltrusaitis
wrapper mp3 encoder lame-php mp3 encoder
Wallogit.com
2017 © Pedro Peláez
PHP wrapper for LAME (MP3 encoder)
PHP LAME is a php wrapper for LAME MP3 encoder. It provides convenient interface to encode wav file(s) into mp3., (*2)
In order to use this library you will need to download & install LAME. Read here how to install it., (*3)
Install PHP LAME wrapper using Composer:, (*4)
{
"require": {
"b-b3rn4rd/phplame": "dev-master"
}
}
<?php
require 'vendor/autoload.php';
use Lame\Lame;
use Lame\Settings;
// encoding type
$encoding = new Settings\Encoding\Preset();
$encoding->setType(Settings\Encoding\Preset::TYPE_STANDARD);
// lame settings
$settings = new Settings\Settings($encoding);
// lame wrapper
$lame = new Lame('/usr/bin/lame', $settings);
try {
$lame->encode("/home/bernard/Music/B.W. Souls - Marvin's Groove.wav",
"/home/bernard/Music/mp3/B.W. Souls - Marvin's Groove.mp3");
} catch(\RuntimeException $e) {
var_dump($e->getMessage());
}
The example above executed following command: /usr/bin/lame --preset standard '/home/bernard/Music/B.W. Souls - Marvin'\\''s Groove.wav' '/home/bernard/Music/mp3/B.W. Souls - Marvin'\\''s Groove.mp3', (*5)
<?php
require 'vendor/autoload.php';
use Lame\Lame;
use Lame\Settings;
// encoding type
$encoding = new Settings\Encoding\VBR();
$encoding->setMinBitrate(320);
// lame settings
$settings = new Settings\Settings($encoding);
$settings->setAlgorithmQuality(0);
// lame wrapper
$lame = new Lame('/usr/bin/lame', $settings);
try {
$lame->encode("/home/bernard/Music/*.wav", "/home/bernard/Music/mp3/");
} catch(\RuntimeException $e) {
var_dump($e->getMessage());
}
Lame command was executed for each file found in $inputfile path with following options: /usr/bin/lame -q 0 -b 320 '/home/bernard/Music/B.W. Souls - Marvin'\\''s Groove.wav' '/home/bernard/Music/mp3/B.W. Souls - Marvin'\\''s Groove.mp3' etc..., (*6)
<?php
require 'vendor/autoload.php';
use Lame\Lame;
use Lame\Settings;
// encoding type
$encoding = new Settings\Encoding\NullEncoding();
// lame settings
$settings = new Settings\Settings($encoding, array(
'-V' => 0,
'--vbr-new' => true,
'-q' => 0,
'-m' => 's'
));
// lame wrapper
$lame = new Lame('/usr/bin/lame', $settings);
try {
$lame->encode("/home/bernard/Music/Benny Gordon - Give A Damn.wav",
"/home/bernard/Music/mp3/", function($inputfile, $outputfile) {
unlink($inputfile);
});
} catch(\RuntimeException $e) {
var_dump($e->getMessage());
}
This example uses optional callback to remove $inputfile after it was encoded. Callback is executed each time after a file has been encoded., (*7)
PHP LAME provides following encoding interfaces: - \Lame\Settings\Bitrate\ABR — Average Bitrate Encoding (ABR) related options - \Lame\Settings\Bitrate\CBR — Constant Bitrate Encoding (CBR) related options - \Lame\Settings\Encoding\VBR — \Lame\Settings\Encoding\VBR related options - \Lame\Settings\Encoding\Preset — Preconfigured settings - \Lame\Settings\Encoding\NullEncoding — no encoding, (*8)
[Unlicened][3], (*9)
PHP wrapper for LAME (MP3 encoder)
wrapper mp3 encoder lame-php mp3 encoder