我使用了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;
}输出
新标签书写
但是MP#文件显示了空白的MP3标记。给我看下面的截图。
截图:

发布于 2017-12-06 16:29:31
因为OP还没有真正问过一个问题,并且在一条评论中提到他想用id3为id3添加歌词,那么我就回答了。您不必使用lyrics3,只需使用普通的id3v2即可。
我也有类似的问题,让歌词保存与getID3包。这是因为getID3文件“getid3 3/getid3 3/write.id3v2.php”第1982行和第2057行中的语法问题。
我只想在“汤姆回答”中发表评论,但我还不能发表评论。所以我用他的密码:
$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();关键是用拼写错误将“unsynchronised_lyrics”改为“unsychronised_lyric”。我在JamesHeinrich getId3中打开了一个问题,所以在更新包时要小心,如果他们在将来将其更改为正常的话,这样您的代码就不会停止编写歌词。
更新
由于我立即收到了答复,错误错误不是来自getID3包,而是直接来自id3机构,因此它将保持原样。所以请安全地使用“unsychronised_lyric”。
发布于 2017-05-05 10:52:10
是的,我想这就是你要用的演示代码。对我也不起作用,即使运行它也会返回true。如果错误没有正确返回,就很难进行错误搜索。
使用同一个库,它完成了以下工作:
$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();https://stackoverflow.com/questions/41506264
复制相似问题