2017-08-25 7 views
1

ビデオファイルを再生するクロスプラットフォーム(Linux、Win)アプリケーション用のHTML5/CSS3/JS GUIを作成したいと考えています。シンプル、そう?クロスプラットフォームのビデオアプリケーション用のHTML5/CSS3/JSのGUI

最後の数週間で、私は正しい解決策を探すのに多くの時間を費やして、多くを試しました。この時点で、私は自分の髪を引き出しています。

私はElectronをチェックしましたが、残念ながらすべてのビデオフォーマット(MKVなど)をネイティブでサポートするわけではありません。だから私はLibVLCは、このアプリで使用するには良いコンポーネントかもしれないと思った。しかし、私はそれをエレクトロンで動作させることができませんでした。 WebChimera(エレクトロンのためのVLCLib)のようなプロジェクトは死んでいるようです。

Visual Studio Codeをインストールし、C++ Hello Worldテストを実行して(G ++コンパイル済み、素晴らしい)、CEF(バイナリをコンパイルした方が簡単でしょうか?)をプロジェクトに追加しようとしました。私の知るところでは、VSCodeでCEFを実行するのに十分な距離には達していません(g ++はうまくいったけど、これはcmakeが必要ですか?)

もう一度StackOverflowコミュニティを参照して、アイデア。多分他の角度があります。あなたならどうしますか?

  1. デスクトップアプリ。 WindowsとLinuxの両方で実行する必要があります。
  2. 再生したビデオファイルの種類(VLCは、すべてのニーズを満たし)
  3. GUI
  4. としてHTML5/CSS3/JSを使用し
  5. あまり重要ではないプログラミング言語、私はいくつかを書いて、すぐに他の人を学ぶことができます。

私はC++、CEF、LibVLCの正しい軌道に乗っていると思います。もしそうなら、CEFSimpleをVisual Studio Codeで動かすのに役立つ人はいますか?私はLinuxで開発しています。私は編集者/ IDEの方が良いと思っています。

答えて

0

私はQT CreatorとQT 5.6.2をインストールし、QWebEngineViewを中央ウィジェットとして使用しました。

使用

...

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

は、私は私のローカルHTMLファイルがロードされ、それが動作を取得することができました。

QWebEngineはQTクリエーターのウィジェットリストにwasnので、私は、私はこのようにメインウィンドウのヘッダーに含ま追加することで、プログラムを作成できることが判明..

#include <QWebEngineView> 

そしてちょうど私はまだ私がイベントをキャッチし、また私のHTML内のJavaScriptの関数にデータを送信するためにQWebEngineViewと通信できるかどうかを確認する必要が

QWebEngineView *view = new QWebEngineView(this); 
setCentralWidget(view); 

..私のメインウィンドウのコードでこれを書きます。

プロジェクトがQtでHTML GUIを使ってC言語で書かれているので、私はこれもWindowsでもコンパイルできると確信しています。私がLibVLCに参加すると、Cも役に立ちます。

編集:12月25日2017: 私はQWebEngineViewと今でも通信できました。

view->page()->runJavaScript("MyJSFunction('optionalArgument')"); 

そして、より堅牢かつ双方向通信のために、私はQWebChannel

を使用しています:によってQWebEngineView通信にQtの簡単な
関連する問題