用于跨平台视频应用的HTML5 / CSS3 / JS GUI

问题描述 投票:1回答:1

我想为一个播放视频文件的跨平台(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社区,询问一些指示并听取一些想法。也许还有其他角度。你会怎么做?

  1. 桌面应用。需要在Windows和Linux上运行。
  2. 播放不同类型的视频文件(VLC满足所有需求)
  3. 使用HTML5 / CSS3 / JS作为GUI
  4. 编程语言不太重要,我可以写一些并快速学习别人。

我想我可能会使用C ++,CEF和LibVLC走上正轨。如果是这样,是否有人可以帮助我在Visual Studio代码中运行CEFSimple?我在Linux上开发。如果更好的话,我愿意尝试编辑/ IDE。

html user-interface cross-platform libvlc
1个回答
0
投票

最后,我安装了QT Creator和QT 5.6.2,并使用QWebEngineView作为中心小部件。

使用..

QString appPath = qApp->applicationDirPath();    
view->setUrl( QUrl::fromLocalFile( appPath + "/GUI/index.html") );

我能够加载我的本地HTML文件,它的工作原理。

WebEngine不在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

© www.soinside.com 2019 - 2024. All rights reserved.