作为我应用程序的一部分,我有一个带有字幕文件名的QListWidget。我的目的是通过将项目从列表小部件拖动到播放器来为播放器添加字幕。我已经对列表小部件进行了子分类,Mime 数据定义为
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;
}
它非常适合VLC播放器,但MPC-HC抛出"找不到文件"错误。我试过了
MIME 类型为文本/纯文本 -->适用于 VLC
MIME 类型为 text/uri-list -->适用于 VLC
尝试 file:////path 如此答案 --> 不起作用
是否有所有媒体播放器都应该遵循的标准模仿类型?
该代码在新版MPC-HC 1.7.7(x64)中运行良好。可能是早期版本中的错误