C++ MPC-HC播放器可识别mime数据,同时从Qt应用程序中删除字幕
作为我的应用程序的一部分,我有一个带有字幕文件名的QListWidget。我的目的是通过将列表小部件中的项目拖动到播放机来向播放机添加字幕。我对列表小部件进行了子分类,Mime数据定义为C++ MPC-HC播放器可识别mime数据,同时从Qt应用程序中删除字幕,c++,media-player,qt5,mime-types,windows-7-x64,C++,Media Player,Qt5,Mime Types,Windows 7 X64,作为我的应用程序的一部分,我有一个带有字幕文件名的QListWidget。我的目的是通过将列表小部件中的项目拖动到播放机来向播放机添加字幕。我对列表小部件进行了子分类,Mime数据定义为 QStringList mimeTypes() const { QStringList typelists; typelists.append("text/uri-list"); retu
QStringList mimeTypes() const
{
QStringList typelists;
typelists.append("text/uri-list");
return typelists;
}
QMimeData * mimeData( const QList<QListWidgetItem *> items ) const
{
QMimeData *data = new QMimeData();
QList< QUrl > urls;
QUrl url;
QString path=( tr("G:/videos/subs/%1").arg(items[0]->text()) );
url=QUrl::fromLocalFile(path);
qDebug() << url.path();
urls.append( url );
data->setUrls( urls );
return data;
}
QStringList mimeTypes()常量
{
QStringList类型表;
类型列表。追加(“文本/uri列表”);
返回类型列表;
}
QMimeData*mimeData(常量QList项)常量
{
QMimeData*数据=新的QMimeData();
QListurl;
QUrl;
QString路径=(tr(“G:/videos/subs/%1”).arg(items[0]->text());
url=QUrl::fromLocalFile(路径);
qDebug()设置URL(URL);
返回数据;
}
它非常适合VLC播放器,但MPC-HC抛出“未找到文件”错误。我已经尝试过了
mime类型为文本/普通-->适用于VLC
mime类型作为文本/uri列表-->适用于VLC
试用file:////path 因为-->不起作用
是否有所有媒体播放器都应该遵循的标准mimetype?新版本MPC-HC 1.7.7(x64)的代码运行良好。可能是早期版本中的错误