2014-12-11
음악파일의 재생시간은,
재생시간 = 파일의크기(byte) * 8 / 비트레이트(bit rate)
의 식을 이용하면 구할 수 있다.
보통 여기서 파일의 byte단위의 크기는 쉽게 구할수 있지만, bit rate는 구하려면 여러가지 식을 거쳐야 한다.

그래서 우리는 보통 이미 잘 만들어 놓은 클래스를 활용하곤 하는데..

링크 : http://getid3.sourceforge.net/

해당 페이지에 들어가면 getID3() 클래스 파일을 구할 수 있을 것이다. 현재 가장 최신 버전인 1.9.8은 php5.3 이상 버전에서만 작동 가능 하니, 적절히 자신의 php 버전을 선택 한뒤
include "./getID3/getid3/getid3.php";

$pathName = "aa.wav";

$getID3 = new getID3; 
$ThisFileInfo = $getID3->analyze($pathName); 

echo $ThisFileInfo['playtime_string'];
//print_r ($ThisFileInfo);
식으로 사용 하면 해당 음악파일의 재생시간 뿐만 아니라 다른 각종 정보도 모두 얻어 낼수 있다.

해당 getid3폴더에는 수많은 종류의 음악 파일에 대한 정보를 알 수 있게 되어 있지만, 필자는 현재 특수한 상황으로 wav파일의 재생시간만 필요 했기 때문에
getid3.lib.php getid3.php module.audio.mp3.php module.audio-video.riff.php module.tag.apetag.php module.tag.id3v1.php module.tag.lyrics3.php

파일만 있으면 해당 파일의 playtime_string 값을 얻어 낼 수 있었다.