问题描述
我正在尝试使用 getID3 编写 ETCO 和 TCON id3v2 标签。我遇到了问题。
这是代码
<?PHP
require_once '/getid3/getid3.PHP';
$file = '/mp3s/1.mp3';
$TaggingFormat = 'UTF-8';
$getID3 = new getID3;
$getID3->setoption(array('encoding'=>$TaggingFormat));
require_once('/getid3/write.PHP');
$tagwriter = new getid3_writetags;
$tagwriter->filename = $file;
$tagwriter->tagformats = array('id3v2.3');
// set varIoUs options (optional)
$tagwriter->overwrite_tags = true;
$tagwriter->merge_existing_date = true;
$tagwriter->tag_encoding = $TaggingFormat;
$tagwriter->remove_other_tags = false;
// populate data array
$TagData['Artist'][] = 'This Artist';
$TagData['Album'][] = 'This Album';
$TagData['Genre'][] = 'Dance';
$TagData['id3v2']['ETCO'][0] = array(
'frame_flags_raw' => '0','datalength' => '30','dataoffset' => '500','framenamelong' => 'Event Timing Codes','framenameshort' => 'event timing codes','timestampformat' => '2'
);
$TagData['id3v2']['TCON'][0] = array(
'frame_flags_raw' => '0','data' => '3','datalength' => '4','dataoffset' => '55','framenameshort' => 'genre'
);
$tagwriter->tag_data = $TagData;
// write tags
if ($tagwriter->WriteTags()) {
echo 'Successfully wrote tags<br>';
if (!empty($tagwriter->warnings)) {
echo 'There were some warnings:<br>'.implode('<br><br>',$tagwriter->warnings);
}
} else {
echo 'Failed to write tags!<br>'.implode('<br><br>',$tagwriter->errors);
}
?>
这是我得到的回报...
Failed to write tags!<br>ID3v2: Skipping "ID3V2" because cannot match it to a kNown ID3v2 frame type<br><br>WriteID3v2() Failed with message(s):<pre><ul><li>Invalid Text Encoding in TCON (3) for ID3v2.3</li><li>$this->GenerateID3v2FrameData() Failed for "TCON"</li><li>$this->GenerateID3v2Tag() Failed</li></ul></pre>
关于这些标签的文档非常少。我不知道如何为这些类型的标签构建数组。知道我做错了什么吗?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)