4

そこで、 WPFWebBrowserの制御 下でVLCActiveX v.2を動作させようとし、ローカルにロードします。

そして、VLCActiveXが機能していません...

C#

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{ 
  var file = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "index.html");

 using (StreamReader sr = new StreamReader(file))
 {
     String url = sr.ReadToEnd();
     wb.NavigateToString(url);
  }
}

HTML

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=9">
    <meta http-equiv="cache-control" content="max-age=0" />
    <meta http-equiv="cache-control" content="no-cache" />
    <meta http-equiv="expires" content="0" />
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
    <meta http-equiv="pragma" content="no-cache" />
    <title></title>
</head>
<body>
    <object width="720" height="408" id='vlc1_IE' events="True" codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921">
        <embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2"
            width="720" height="408"
            id="vlc1">
        </embed>
        <param name="src" value="http://content.bitsontherun.com/videos/bkaovAYt-52qL9xLP.mp4" />
        <param name="ShowDisplay" value="True" />
        <param name="AutoPlay" value="False" />
    </object>
</body>
</html>

リモートでロードすると正常に動作することに注意してください。

また、埋め込みリソースのようにindex.htmlを使用しようとしました。

だから私は使用しました

Stream docStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("WpfApplication12.index.html");
wb.NavigateToStream(docStream);

できますか?WPF WebBrowserコントロールは、ActiveXでローカルWebページを実行するように非常に制限されていますか?

どんな手掛かり?

PS私はWInFormWebBrowserコントロールで同じことをしようとしました-喜びはありません...

PS#2このプロジェクトhttp://www.codeproject.com/Articles/3919/Using-the-WebBrowser-control-simplifiedを試しましたが、VLCActiveXと同じHTMLが正常に機能しています。しかし、それはC ++で行われ、私はそれをまったく知りません... :(

PS#3 MS MediaPlayerとVLCActiveXを一緒に試しましたが、MSMediaPlayerは正常に動作しています。

  <embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2"
            width="720" height="408"
            id="vlc1">
        </embed>

    <object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"
        <param name="URL" value="example.wmv" >
        </object>

ここに画像の説明を入力してください

PS#4また、この例を使用してVLC ActiveXコントロールを動的に作成しようとしましたが、まったく喜びがありません...

4

1 に答える 1

1

このコメントについて:

リモートでロードすると正常に動作することに注意してください。

このテストにInternetExplorerを使用していますか?もしそうなら、プラグインはありますか?

WebBrowserコントロール(少なくともWinFormsでは)はプラグイン/アドオンをサポートしていないため、この質問をします。本格的なブラウザで何かが機能するからといって、それがWebBrowserで機能することを必ずしも意味するわけではありません。このVLC統合にActiveXプラグインを使用している場合、これはWebBrowserコントロールでは機能しない可能性があります。

コメントに応じて編集

このコードを試してみると(2行目を少し変更したことに注意してください):

Stream docStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("WpfApplication12.index.html");
wb.NavigateToStream(docStream);

... HTMLをまったくロードしないと言っていますか?または、ロードされますが、ビデオ(VLC)コントロールが機能しませんか?

于 2013-02-07T14:03:40.607 に答える