LoginSignup
11
9

More than 5 years have passed since last update.

VLC on WPF

Last updated at Posted at 2015-02-08

きっかけ

WPFが登場し、MediaElemntによって、簡単にメディアの再生をすることができるようになった。しかし、対応しているのは、WMVやMP4などごく限られたフォーマット。そのような訳で、VLCをWPFで使ってみようという記事です。

使うライブラリ

COMを使うか、P/Invokeで頑張るか考えていたら、Vlc.DotNetと言うライブラリを見つけました。今回はこれを利用していきます。

STEP 1: 環境構築

開発は、GitHubの方に移動しているので、そちらからDLLをDLしよう!と思ったわけですが、ないため、ソースを全部DLして、ビルドします。Gitで落とすもよし、Zipのボタンで落とすのもよしです。そうしたら、Build.batというのがあるので、それをダブクリすれば、何回かキーを叩くだけでビルド終了です。

STEP 2: プロジェクト構築

フツーにWPFプロジェクトを作成してください。
参照が肝心です。ビルドが完了すると、

  • Vlc.DotNet - Build Output
    • Vlc.DotNet.Core
    • Vlc.DotNet.Core.Interops
    • Vlc.DotNet.Forms
    • Vlc.DotNet.Wpf

上のようなフォルダ階層ができたはずです。その中で、Vlc.DotNet.Wpfの中にある、"Debug - x64 - .Net 3.5"というようなファイルが有ると思います。その中で、Release、x86で、あとは適切な.Netバージョンのフォルダを選び、その中のDLLをすべて参照してください。(x64は設定が面倒なので、今回はx86を使用します。) 参照したあと、解答したあとのフォルダを開いて、"Vlc\x86"にある、"Rinecewind"のフォルダを、プロジェクトの"bin\Debug"と"bin\Release"フォルダにコピーしてください。これでプロジェクト構築は完了です。

STEP 3: プログラミング

MainWindow.xamlに、

MainWindow.xaml
xmlns:vlc="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf"

を、xmlns属性が群がっているところに挿入してください。そして、Gridの中に、を入れてください。
なお、名前は当然ながら任意です。


そして、コードビハインド。Newか、Loadedイベントのところに、このコードを挿入しましょう。

MainWindow.cs
player.MediaPlayer.VlcLibDirectory = new System.IO.DirectoryInfo(System.IO.Path.Combine(System.Environment.CurrentDirectory, "Vlc_Lib\\x86\\"))
MainWindow.vb
player.MediaPlayer.VlcLibDirectory = New IO.DirectoryInfo(IO.Path.Combine(Environment.CurrentDirectory, "Vlc_Lib\x86\"))

これで、VLCのDLL達の居場所を設定することが出来ました。もし、設定してなければ、"You must set なんちゃらこんちゃら"と怒られます。なので、忘れずに設定してあげましょう。
これで、VlcControlで再生できるようになりました。Playメソッドなど、直感的でわかりやすいので、使いこなしてあげましょう。

あとがき

これが初投稿なので、経験がありません。従って、わかりにくいかもしれません。もし、そうであれば、コメントしてください。いじめないでください(おい
とは言え、読んでい頂きありがとうございました。VLCのシェアが伸びることを願って(・ω・)ノシ

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9