Libvlc wrapperの開発

ローカルファイル以外の再生 応用編

前記事で押さえたローカルディスク上のファイル以外を対象とした再生です。まとめてアプリを作りました。外観は、

プロジェクトにlibvlcwrapper.hを含めて、ヘッダーのディレクトリをセットして、上記を参考にしてフォームを作ります。Unit1.cppは、

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "vlcwrapper.h"

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int volume = 0;
VLC* vlc;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{

}
//---------------------------------------------------------------------------
void __fastcall TForm1::PlayClick(TObject *Sender)
{
	if( OpenDialog1->Execute()){

		vlc = new VLC(OpenDialog1->FileName);
		vlc->SetHWND(Panel1->Handle);
		vlc->SetVolume(volume);
		vlc->Play();

	}


}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
    volume = TrackBar1->Position;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::StopClick(TObject *Sender)
{
	vlc->Stop();
	delete vlc;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::dshowClick(TObject *Sender)
{
	vlc = new VLC("dshow://");
	vlc->SetHWND(Panel1->Handle);
	vlc->SetVolume(volume);
	vlc->Play();

}
//---------------------------------------------------------------------------

void __fastcall TForm1::rtspClick(TObject *Sender)
{
	vlc = new VLC("rtsp://yourid:yourpasswd@192.168.0.82:38912/ipcam_h264.sdp");
	vlc->SetHWND(Panel1->Handle);
	vlc->SetVolume(volume);
	vlc->Play();

}
//---------------------------------------------------------------------------

Playボタンは前記事と同じなので、それ以外の実行結果を示します。rtspボタンをクリックすると、

以前の記事で書いたTS-WLCEからの動画をLiveで観ることができます。dshowをクリックすると、キャプチャーデバイスとしてシステムに登録されているデフォルトのカメラからの動画を再生できます。

比較的楽にVLCで言うところのMRL( Media Resouce Locator )を扱うことができます。キャプチャーデバイス(dshow://)については別記事でも扱います。

コメント