回答
您可以嘗試PHPClasses上的MP3 Class。它提供了以下示例:
require_once './class.mp3.php';
$mp3 = new mp3;
$mp3->cut_mp3('input.mp3', 'output.mp3', 0, -1, 'frame', false);
在這種情況下,該「框架」可以用「第二」的取代,以基部的時間幀上的切口。
在於Debian/Ubuntu嘗試安裝mpgtx:
apt-get install mpgtx
mptsplit input.mp3 [00:00:00-00:00:30] -o output.mp3
我敢肯定,你會發現在其他精細Linux發行版mpgtx獲得過,或者直接從源只安裝。
我在用MP3 Class和mpgtx處理一些mp3時遇到了問題。我認爲最好的選擇是ffmpeg。 This page在使用ffmpeg分割媒體文件方面有一些很好的例子。
我把一個腳本輸出一個30秒的MP3文件在飛行中的腳本。如果你想保存文件,使用類/庫的其他選項之一可能是最好的。但是,如果您只想播放/下載預覽,則可能會更好。它一定會爲您節省硬盤空間。
檢查出來http://www.stephenwalcher.com/2013/06/17/how-to-extract-and-play-part-of-an-mp3-in-php/。
下面是代碼,但更深的解釋可以在我的博客上找到。
$getID3 = new getID3();
$id3_info = $getID3->analyze($filename);
list($t_min, $t_sec) = explode(':', $id3_info['playtime_string']);
$time = ($t_min * 60) + $t_sec;
$preview = $time/30; // Preview time of 30 seconds
$handle = fopen($filename, 'r');
$content = fread($handle, filesize($filename));
$length = strlen($content);
if (!$session->IsLoggedIn()) {
$length = round(strlen($content)/$preview);
$content = substr($content, $length/3 /* Start extraction ~10 seconds in */, $length);
}
header("Content-Type: {$id3_info['mime_type']}");
header("Content-Length: {$length}");
print $content;
我用PHP MP3爲我的項目。
<?php
//Extract 30 seconds starting after 10 seconds.
$path = 'path.mp3';
$mp3 = new PHPMP3($path);
$mp3_1 = $mp3->extract(10,30);
$mp3_1->save('newpath.mp3');
?>
對於你的情況,你可以使用extract(0,30)
或extract(30,60)
。
這很好,因爲我知道它可以在LGPL下使用,我不認爲它比其他許可更靈活。 – Antony 2017-09-04 14:12:09
@Antony,LGPL非常靈活,除非你改變庫本身的東西,除了使用包分發許可文本文件外,你不需要做任何特別的事情。你也可以在商業項目中使用它。 – 2017-09-15 15:04:38
https://github.com/falahati/PHP-MP3
PHP-MP3是用於讀取和處理MPEG音頻 (MP3)一個簡單的庫。
安裝:
composer require falahati/php-mp3
剪切MPEG音頻:
\falahati\PHPMP3\MpegAudio::fromFile("old.mp3")->trim(10, 30)-saveFile("new.mp3");
//Merge two files
$path = 'path.mp3';
$path1 = 'path1.mp3';
$mp3 = new PHPMP3($path);
$newpath = 'path.mp3';
$mp3->striptags();
$mp3_1 = new PHPMP3($path1);
$mp3->mergeBehind($mp3_1);
$mp3->striptags();
$mp3->setIdv3_2('01','Track Title','Artist','Album','Year','Genre','Comments','Composer','OrigArtist','Copyright','url','encodedBy');
$mp3->save($newpath);
//Extract 30 seconds starting after 10 seconds.
$path = 'path.mp3';
$mp3 = new PHPMP3($path);
$mp3_1 = $mp3->extract(10,30);
$mp3_1->save('newpath.mp3');
//Extract the exact length of time
$path = 'path.mp3';
$mp3 = new PHPMP3($path);
$mp3->setFileInfoExact();
echo $mp3->time;
//note that this is the exact length!
來源:https://github.com/thegallagher/PHP-MP3/blob/master/README.md
- 1. 修剪mp3文件?
- 2. NAudio修剪mp3文件
- 3. 在php中修剪圖像
- 4. 以編程方式修剪MP3
- 5. PHP修剪不修剪的空間
- 6. 我如何在UWP中修剪mp3文件
- 7. 修剪浮動
- 8. 修剪 用PHP
- 9. 在PHP 5.2中修剪unicode空格
- 10. Wordpress自動修剪the_content問題
- 11. Linq自動修剪我的字符串!
- 12. php修剪(),工作很差
- 13. PHP EXEC輸出被修剪
- 14. PHP修剪工作不
- 15. 前導0從excel中修剪php
- 16. PHP中的多字節修剪?
- 17. 如何在android中編寫Mp3裁剪器或裁剪器?
- 18. 在C++中修剪double值
- 19. 在Java Swingx中修剪JXDatePicker
- 20. 在SQL Server中修剪
- 21. 在java中修剪文本
- 22. 在Android中修剪ImageView
- 23. Alpha beta修剪根移動
- 24. 滑動佈局修剪bug
- 25. SQL Server在查詢時是否自動修剪nvarchar字段?
- 26. 自動修剪入站WCF消息中的字符串
- 27. ffmpeg的批處理命令修剪所有的MP3文件夾
- 28. bash:bash腳本從youtube下載修剪的mp3 url
- 29. 修剪從一個MP3文件的前11秒
- 30. 修改MP3文件
或我don'y知道某些東西在getID3 LIB改變它'您的代碼中存在一個錯誤:id3_info數組中沒有長度元素。它應該是playtime_string。 – latata 2013-01-30 16:00:31
鏈接被打破。 – 2018-01-10 12:36:06
修復了鏈接。現在應該很好走。 – 2018-01-24 03:45:18