2016-04-11 9 views
2

C#(WPF)アプリケーションでビデオを再生したい場合は、Buttonsの番号があります。私はこれまでにいくつかのことを試みました。C#アプリケーションでビデオを再生する

内蔵のMediaElementが成功してビデオを再生しましたが、ビデオが再生されるまでには大きな遅延がありました(previous question)。私は決してこれに対する解決策を見いださなかった。その結果、私は前進した。

WebBrowserを使用し、動画を再生するためにHTMLを埋め込む別の方法を試しました。これは、WebBrowserがHTML5ビデオをサポートしていない古いバージョンのIEを使用しているため動作しません。その結果、私はAwesomiumを試しました。

これは今までのAwesomiumのコードです。

<Grid> 
    <osm:WebControl x:Name="webControl" Margin="10"/> 
</Grid> 

private void OnPageLoad(object sender, RoutedEventArgs e) 
{ 
    try 
    { 
     var videoURI = new Uri(Properties.Settings.Default.FirstVideoPath); 
     webControl.LoadHTML(@"<video width = ""100%"" height = ""100%"" controls > 
           <source src = ""C:\Desktop\example.mp4"" type = ""video/mp4""> 
           </video>"); 
    } 
    catch(Exception ex) 
    { 
     MessageBox.Show(ex.ToString()); 
    } 
} 

ChromeはChromeで開いたときに正常に動作しますが、これはC#アプリケーションでも発生します。

enter image description here

基本的に私の質問はこれです。内蔵のMediaElementを使わずに誰でもアプリケーションでビデオを再生できましたか?私は何をしたいのかを達成するために何が使えますか?

答えて

0

以前は、MediaElementと同じパフォーマンスの問題がありました。これを解決するために、MediaElementからMediaUriElementに変更します。 MediaUriElementWPFMediaKitの一部です。 Windows Media Codecもダウンロードしてインストールする必要があります。

WPFMediaKitをダウンロードしてから、.zipからWPFMediaKit.dllファイルを取得し、プロジェクトから参照する必要があります。次に、XAMLで、あなたは、この参照を追加する必要があります

xmlns:mk="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit" 

をしてから、このようMediaUriElementを使用します。

<mk:MediaUriElement Source="Your video path"/> 
関連する問題