문제

웹 사이트에 업로드 된 MP3를 PHP에서 30 초 (또는 다른 길이)로 자동 다듬는 방법이 있습니까? 그렇지 않다면, 동일한 효과를 달성하기 위해 통합 될 수있는 좋은 제 3 자 서비스가 있습니까?

감사.

도움이 되었습니까?

해결책

당신은 시도 할 수 있습니다 MP3 클래스 phpclass에서. 다음 예는 다음과 같습니다.

require_once './class.mp3.php';
$mp3 = new mp3;
$mp3->cut_mp3('input.mp3', 'output.mp3', 0, -1, 'frame', false);

이 경우, '프레임'은 '두 번째'로 대체하여 컷을 타임 프레임으로 바탕으로 대체 할 수 있습니다.

다른 팁

나는 MP3 파일의 30 초 클립을 즉시 출력하는 스크립트를 모았습니다. 파일을 저장하려는 경우 클래스/라이브러리를 사용하여 다른 옵션 중 하나가 가장 좋을 것입니다. 그러나 미리보기를 재생/다운로드하려면 즉시 더 나을 수 있습니다. 하드 드라이브 공간을 확실히 절약 할 수 있습니다.

확인하십시오 http://www.stephenwalcher.com/2013/06/17/how-to-xtract-and-play-part-of-n-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;

데비안/우분투에서 설치를 시도하십시오 mpgtx:

apt-get install mpgtx

mptsplit input.mp3 [00:00:00-00:00:30] -o output.mp3

다른 미세 Linux 배포판에서도 MPGTX를 사용할 수 있거나 소스에서 설치할 수 있다고 확신합니다.

MP3 클래스와 MPGTX로 일부 MP3를 처리하는 데 문제가있었습니다. 여기서 가장 좋은 옵션은 내가 생각하는 FFMPEG입니다. 이 페이지 FFMPEG로 미디어 파일을 분할하는 데 좋은 예가 있습니다.

나는 사용했다 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).

//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

https://github.com/falahati/php-mp3

PHP-MP3는 MPEG 오디오 (MP3)를 읽고 조작하기위한 간단한 라이브러리입니다.

설치:

composer require falahati/php-mp3:dev-master

MPEG 오디오 컷 :

\falahati\PHPMP3\MpegAudio::fromFile("old.mp3")->trim(10, 30)-saveFile("new.mp3");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top