首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我使用了getid3_write_lyrics3库。不工作

我使用了getid3_write_lyrics3库。不工作
EN

Stack Overflow用户
提问于 2017-01-06 12:56:45
回答 2查看 454关注 0票数 0

我使用了lyrics3库。不工作

这是我的代码:

代码语言:javascript
复制
// 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标记。给我看下面的截图。

截图:

EN

回答 2

Stack Overflow用户

发布于 2017-12-06 16:29:31

因为OP还没有真正问过一个问题,并且在一条评论中提到他想用id3为id3添加歌词,那么我就回答了。您不必使用lyrics3,只需使用普通的id3v2即可。

我也有类似的问题,让歌词保存与getID3包。这是因为getID3文件“getid3 3/getid3 3/write.id3v2.php”第1982行和第2057行中的语法问题。

我只想在“汤姆回答”中发表评论,但我还不能发表评论。所以我用他的密码:

代码语言:javascript
复制
$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”。

票数 1
EN

Stack Overflow用户

发布于 2017-05-05 10:52:10

是的,我想这就是你要用的演示代码。对我也不起作用,即使运行它也会返回true。如果错误没有正确返回,就很难进行错误搜索。

使用同一个库,它完成了以下工作:

代码语言:javascript
复制
$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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41506264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档