嵌入式liunx平台,通过QT&QML利用mplayer取得音频文件播放的总时间、当前播放时间、播放百分比、专辑名、艺术家名、标题以及年份等 ID3 信息。
原理:
利用QT的“QProcess”建立进程,通过QProcess的“start”方法,启动线程,调用“mplayer”命令播放音频文件,在mplayer的“slave”模式下,通过QProcess的write方法向进程中写入“mplayer”命令,发送需要取得的音频文件的数据,通过“readLine”方法,从进程中取得已经写入的播放文件相关信息。
实现步骤:
以取得当前播放时间和艺术家名(歌手名)为例进行说明,其他信息取得大同小异,请参考备注内容。
一、建立新进程,用来接收mplayer命令传递过来的文件信息
QProcess * mplayerProcess;
mplayerProcess = new QProcess(this);
mplayerProcess->setProcessChannelMode(QProcess::MergedChannels);
说明: