I created a simple proof of concept app--if I save the ripped DVD folder to the tablet's local storage the following code automatically plays the entire movie if I specify the local path to the VIDEO_TS folder:
Code: Select all
private void InitVLC( )
{
Core.Initialize();
_libVLC = new LibVLC();
VLCMediaPlayer = new MediaPlayer( _libVLC )
{
EnableHardwareDecoding = true
};
VLCMediaPlayer.EndReached += OnMediaPlayer_EndReached;
VLCVideoView = FindViewById<VideoView>( Resource.Id.vlcVideoView );
VLCVideoView.MediaPlayer = VLCMediaPlayer;
string dvdTsVideoPath = Path.Combine( AppUtilities.GetVideoFolderPath(), "Mulan (1998)" );
dvdTsVideoPath = Path.Combine( dvdTsVideoPath, "VIDEO_TS" );
// The dvdTsVideoPath for the local storage looks like this:
// /storage/emulated/0/Android/data/com.companyname.mymoviespocapp/files/Movies/Mulan (1998)/VIDEO_TS
var media = new Media( _libVLC, dvdTsVideoPath, FromType.FromPath );
bool playing = VLCVideoView.MediaPlayer.Play( media );
}
Code: Select all
private void InitVLC( )
{
Core.Initialize();
_libVLC = new LibVLC();
VLCMediaPlayer = new MediaPlayer( _libVLC )
{
EnableHardwareDecoding = true
};
VLCMediaPlayer.EndReached += OnMediaPlayer_EndReached;
VLCVideoView = FindViewById<VideoView>( Resource.Id.vlcVideoView );
VLCVideoView.MediaPlayer = VLCMediaPlayer;
// This doesn't work...
string dvdTsVideoPath = "smb://user:password@192.168.11.100/Movies1/Mulan (1998)/";
var media = new Media( _libVLC, dvdTsVideoPath, FromType.FromLocation );
// But this does. Unfortunately, I need to play the entire disk so the ability to play a single VOB isn't useful
//string dvdTsVideoPath = "smb://user:password@192.168.11.100/Movies1/Mulan (1998)/VIDEO_TS/VTS_01_1.VOB";
//var media = new Media( _libVLC, dvdTsVideoPath, FromType.FromLocation );
bool playing = VLCVideoView.MediaPlayer.Play( media );
}