2017-01-06 3 views
0

getid3_write_lyrics3 라이브러리를 사용했습니다. 작동하지나는 getid3_write_lyrics3 라이브러리를 사용했다. 작동하지 않음

이 내 코드 :

// Enter your filename here 
$filename = 'C:\xampp\htdocs\source2\test.mp3'; 

//Include getID3() library (can be in a different 
         directory if full path is specified) 
require_once('getid3.php'); 

// Include desired writer module 
require_once('write.lyrics3.php'); 

//Instantiate desired tag class 
$tw = new getid3_write_lyrics3($filename); 



// Attempt to write new tag -- NOTE: all values must be in ISO-8859-1 
try 
{ 
    $tw->title  = 'bhavi'; 
    $tw->artist  = 'asas'; 
    $tw->album  = 'A new album'; 
    $tw->author  = 'bhavi author'; 
    $tw->comment = 'bhavika commment'; 
    $tw->images  = 'C:\xampp\htdocs\source2\image.jpg'; 

    $tw->synched = true; 
    $tw->lyrics  = "[00:02]Let's talk about time\r\n[00:02]tickin' away 
     every day\r\n[00:05]so wake on up before it's gone away\r\n"; 

    if(!$tw->write()) 
    { 
     echo "not success"; 
    }else{ 
     print 'New tag written<br>'; 
    } 
}catch (Exception $e) 
{ 
    print $e->message; 
} 

OUTPUT

새로운 태그가

를 작성하지만, MP 번호 파일 쇼 빈 MP3 태그. 내 아래 스크린 샷을 보여주세요.

스크린 샷 :

enter image description here

+0

지금까지 무엇을 했습니까? –

+0

* lyric3이 작동하지 않습니다. * 그 의미는 무엇입니까? – donald123

+0

mp3에 가사 ​​태그를 추가하고 싶지만 ID3은 지원되지 않습니다. – Bhavika

답변

0

그래, 난 그게 당신이 사용하고있는 데모 코드 생각합니다. 비록 그것이 달리는 것이 사실 일지라도, 나에게도 일하지 않았다. 오류를 올바르게 반환하지 않으면 버그 사냥이 어렵습니다. 정말 다음 질문을 요청, 그는 ID3와 MP3에 가사를 추가하고 싶다고 코멘트에 언급되지 않은

$filename = 'fullpath/to/your/music.mp3' ; 
$sLyrics = "the lyrics go here" ; 

$TextEncoding = 'UTF-8'; 
require_once('./getid3/getid3/getid3.php'); 

$getID3 = new getID3; 
$getID3->setOption(array('encoding'=>$TextEncoding)); 

require_once('./getid3/getid3/write.php'); 

$tagwriter = new getid3_writetags; 
$tagwriter->filename = $filename ; 
$tagwriter->tagformats = array('id3v2.3'); 
$tagwriter->overwrite_tags = true; 
$tagwriter->remove_other_tags = false; 
$tagwriter->tag_encoding  = $TextEncoding; 

$TagData = array(
    'unsynchronised_lyrics' => array($sLyrics), 
); 
$tagwriter->tag_data = $TagData; 

$tagwriter->WriteTags(); 
1

영업 가입일 : 같은 라이브러리를 사용하여

이는 일을했다 나는 대답하고있다. lyrics3을 사용할 필요가 없습니다. 정상적인 id3v2 만 사용할 수 있습니다.

getID3 패키지로 저장된 가사를 얻으려면 비슷한 문제가있었습니다. 그것은 "getID3/getid3/write.id3v2.php"파일의 getID3 문법 문제로 1982 행과 2057 행에 있습니다.

나는 @Tom 응답에 대해 간단하게 주석을 달았지만 아직 논평 할 수 없습니다. 그래서 나는 그의 코드를 사용하고 있습니다 :

$filename = 'fullpath/to/your/music.mp3' ; 
$sLyrics = "the lyrics go here" ; 

$TextEncoding = 'UTF-8'; 
require_once('./getid3/getid3/getid3.php'); 

$getID3 = new getID3; 
$getID3->setOption(array('encoding'=>$TextEncoding)); 

require_once('./getid3/getid3/write.php'); 

$tagwriter = new getid3_writetags; 
$tagwriter->filename = $filename ; 
$tagwriter->tagformats = array('id3v2.3'); 
$tagwriter->overwrite_tags = true; 
$tagwriter->remove_other_tags = false; 
$tagwriter->tag_encoding  = $TextEncoding; 

$TagData = array(
    'unsychronised_lyric' => array($sLyrics), 
); 
$tagwriter->tag_data = $TagData; 

$tagwriter->WriteTags(); 

의 핵심은 자신의 맞춤법 오류와 'unsychronised_lyric'에서 'unsynchronised_lyrics'을 변경하는 것입니다. 나는 JamesHeinrich getId3에이 문제를 열었으므로 나중에 가사로 다시 변경하면 코드가 가사 쓰기를 멈추지 않도록 패키지를 업데이트 할 때주의해야합니다.

UPDATE ---

나는 즉시 대답을받은 것처럼, 오타 오류가 아닙니다 getID3 패키지에서,하지만 직접 id3 Org에서 그대로 머물 있도록했다. 따라서 'unsychronised_lyric'을 안전하게 사용하십시오.