我想为播放视频文件的跨平台(Linux,Win)应用创建HTML5 / CSS3 / JS GUI。简单,对吧?
在过去的几周里,我花了很多时间寻找合适的解决方案,尝试了很多,此时,我正在拔头发。
我首先检查Electron,但不幸的是它本身并不支持所有视频格式(如MKV等)。所以我认为LibVLC可能是在这款应用中使用的好组件。但我无法与Electron合作。像WebChimera(VLCLib for Electron)这样的项目似乎已经死了。
我尝试的另一个角度是安装Visual Studio Code,运行C ++ Hello World测试(G ++编译,效果很好)然后尝试将CEF(编译后的二进制文件,似乎更容易?)放入我的项目。我的知识不足以让CEF在VSCode中运行得不幸(g ++很好,但这需要cmake?)
因此,我再次转向StackOverflow社区,询问一些指示并听取一些想法。也许还有其他角度。你会做什么?
我想我可能会使用C ++,CEF和LibVLC走上正轨。如果是这样,是否有人可以帮助我在Visual Studio代码中运行CEFSimple?我在Linux上开发。如果更好的话,我愿意尝试编辑/ IDE。
答案 0 :(得分:0)
最后我安装了QT Creator和QT 5.6.2,并使用QWebEngineView作为中心窗口小部件。
使用..
QString appPath = qApp->applicationDirPath();
view->setUrl( QUrl::fromLocalFile( appPath + "/GUI/index.html") );
我能够加载我的本地HTML文件并且可以正常工作。
QWebEngine不在QT Creator的小部件列表中,所以我发现我可以通过在主窗口标题中添加一个include来以编程方式创建它:..
#include <QWebEngineView>
然后在我的主窗口代码中写这个..
QWebEngineView *view = new QWebEngineView(this);
setCentralWidget(view);
我仍然需要查看是否可以与QWebEngineView进行通信,以便捕获事件并将数据发送到HTML中的javascript函数。
由于该项目现在用C语言编写,Qt负责HTML GUI,我确信我也可以在Windows上编译它。当我到达LibVLC的部分时,C也会有所帮助。
2017年12月25日编辑 我现在也设法与QWebEngineView进行通信。简单的Qt到QWebEngineView通信:
view->page()->runJavaScript("MyJSFunction('optionalArgument')");
为了更强大和双向的沟通,我正在使用QWebChannel