2017-01-06 3 views
0

私はgetid3_write_lyrics3ライブラリを使用しました。私はgetid3_write_lyrics3ライブラリを使用しました。役に立たなかった

にこの私のコードに動作していない:

が、MP#ファイルを書き込んだ

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

新しいタグを空白のMP3タグを示しています。私の下のスクリーンショットを示してください。

スクリーンショット:

enter image description here

+0

あなたはこれまで何をしていますか? –

+0

* lyric3が機能していない*という意味ですか? – donald123

+0

mp3に歌詞タグを追加したいが、ID3はサポートされていない。 – Bhavika

答えて

0

うん、私はそれはあなたが使用しているデモ・コードだと思います。走っても真実に戻っても、私のために働かなかった。バグの発見が難しい場合は、エラーが正しく返されません。同じライブラリを使用して

が、これは仕事をしてくれた:

$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

OPは本当に、その後、質問を尋ねると、彼はID3とmp3に歌詞を追加したいというコメントに言及していないので、私は答えている。 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'を安全に使用してください。

関連する問題