日期:2014-05-16  浏览次数:20728 次

关于Qtcreater中解析单独解析歌曲信息的问题
 最近在做Qt关于播放器的项目,需要用到解析出mp3、avi等格式的信息。这次以mp3为例。我使用的是
QFile和QDataStream两个类来解析文件。由于mp3后128字节中放着歌曲的信息,所以我这个代码按照这个来解析的。可是解析不出来,结果全为空。请各位大神帮帮忙!(听闻可以用phonon里MeteDate能解析这些信息,但是不知道怎么用,不知道哪位大神能给个这个类型的例子看看)。
void resolveInfo::resolveFile(QString &filename)
{
  
        QFile File(filename);//filename="/home/new/Test/resolveInfo/it.mp3";

 
    if(!File.open(QFile::ReadOnly))
    {
        QMessageBox::warning(NULL,tr("Open File"),
                             tr("Can't Open File: %1 \n").arg(filename),QMessageBox::Ok);   
 }
    qint64 Fsize=File.size();
    QDataStream data(&File);



    char *tab1=new char[3];//
    char *songname1=new char[30];//歌曲名
    char *zhuanji1=new char[30];//专辑名
    QString tab2;//
    QString songname2;//
    QString zhuanji2;//
//先测试字尾128字节的其中的一些信息是否能读取

    int size=(int)Fsize;//将歌曲大小的类型转换
    data.setVersion(size-128);//设置歌曲从哪开始读取数据
    int vision=data.version();
    data>>tab1;
    data>>songname1;
    data>>zhuanji1;


    qDebug()<<tab1<<endl;//结果为空
    qDebug()<<songname1<<endl;//结果为空
    qDebug()<<zhuanji1<<endl;//结果为空
    qDebug()<<"Hello"<<endl;

}
歌曲信息读取 qtcreate QFile

------解决方案--------------------
求助!请问楼主用Qt播视频是怎么播的!我用的centos6.3,装的是Qt5.1.1,用的是Qt自带的那个VideoWidget例子。我已经安装了gstreamer和ffmpeg,但是不能播视频是怎么回事?mp3是可以播的。
我另外安装了一个mplayer,各种视频都可以播。但是Qt的程序就是不可以。