您的位置:首页 > 其它

用id3lib提取mp3文件中的图片信息的实例

2008-10-20 17:34 417 查看
//define

typedef struct
{
unsigned char* picture;
size_t *len;

}PICTURE;

PICTURE *m_p = NULL;

//function's implemation
PICTURE* CMpExtractInfo::getPicture()
{
if(m_p!=NULL)
{
delete [] m_p;
cout<<"******************delete m_p"<<endl;
m_p = NULL;
}

if(&m_tag==NULL)
{
return NULL;
}

else
{
m_p = new PICTURE;
ID3_Frame *tp_frame =m_tag.Find(ID3FID_PICTURE);
if (NULL != tp_frame)
{
qDebug()<<"getpicture here";
//tp_frame->Field(ID3FN_DATA).ToFile("output.bmp");
ID3_Field & tmp = tp_frame->Field(ID3FN_DATA);
m_p->len = new size_t(0);
*(m_p->len) = tp_frame->GetDataSize();
cout << " Len : " << *(m_p->len) << endl;
m_p->picture = new unsigned char[*(m_p->len) + 1]; //error here
memset(m_p->picture,0,*(m_p->len) + 1);
tmp.Get(m_p->picture, *(m_p->len) + 1);
return m_p;
}

}
}

reference size : www.id3.org
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: