protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); global::LibVLCSharp.Shared.Core.Initialize(); var config = new MediaConfiguration(); config.EnableHardwareDecoding = true; Jammit.Forms.App.DataDirectory = Xamarin.Essentials.FileSystem.AppDataDirectory; // To prevent audo desync, use SoXR resampler. // See https://code.videolan.org/videolan/LibVLCSharp/issues/263#note_48330 Jammit.Forms.App.PlayerFactory = async(media) => await System.Threading.Tasks.Task.Run(() => new Audio.VlcJcfPlayer(media, new MediaConfiguration[] { config }, new string[] { "--audio-resampler=soxr" })); Jammit.Forms.App.MediaLoader = new Model.FileSystemJcfLoader(Xamarin.Essentials.FileSystem.AppDataDirectory); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); global::Xamarin.Forms.MessagingCenter.Subscribe <Jammit.Forms.Views.SongPage>(this, "PreventPortrait", sender => { RequestedOrientation = ScreenOrientation.Landscape; }); global::Xamarin.Forms.MessagingCenter.Subscribe <Jammit.Forms.Views.SongPage>(this, "AllowLandScapePortrait", sender => { RequestedOrientation = ScreenOrientation.Unspecified; }); LoadApplication(new Jammit.Forms.App()); }
internal DatabaseFormatter(MediaConfiguration mediaConfiguration) : base(mediaConfiguration) { Settings = new DatabaseFormatterSettings(); Columns = new DatabaseColumnCollection(); Columns.ItemsInserted += OnColumnsInserted; }
private async Task DisplayVideoDecoding() { var videoDecodings = new List <string>(); videoDecodings.Add("Software decoding"); videoDecodings.Add("Hardware decoding"); var userSelection = await DisplayActionSheet("Video decodings", "Cancel", null, videoDecodings.ToArray()); if (!string.IsNullOrWhiteSpace(userSelection) && videoDecodings.Any(x => x.Equals(userSelection))) { _firstTimePlaying = true; videoView.MediaPlayer.Stop(); var media = new Media(videoView.LibVLC, _fd); if (userSelection.Equals(videoDecodings[0])) { videoView.MediaPlayer.Play(media); } else { var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding(); media.AddOption(configuration); videoView.MediaPlayer.Play(media); } } }
protected override void OnResume() { base.OnResume(); _videoView = new VideoView(this); AddContentView(_videoView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent)); var media = new Media(_videoView.LibVLC, "http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4", Media.FromType.FromLocation); var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding(); media.AddOption(configuration); _videoView.MediaPlayer.Play(media); }
public MediaPlayer GetMediaPlayer(string filePath) { var media = new Media(LibVLC, filePath); if (Settings.UseHardwareAcceleration) { var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding(); media.AddOption(configuration); } var mediaPlayer = new MediaPlayer(media); return(mediaPlayer); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.vlc_view); string link = Intent.GetStringExtra("link"); source_link = Intent.GetStringExtra("source_link"); _videoView = new VideoView(this); AddContentView(_videoView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent)); var media = new Media(_videoView.LibVLC, link, Media.FromType.FromLocation); var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding(); media.AddOption(configuration); _videoView.MediaPlayer.Play(media); }
protected override void OnResume() { base.OnResume(); _mVideoView = new VideoView(this); var lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); _mVideoWrapper.AddView(_mVideoView, lp); var media = new Media(_mVideoView.LibVLC, "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov", Media.FromType.FromLocation); var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding(); media.AddOption(configuration); _mVideoView.MediaPlayer.Play(media); }
public MediaPlayer GetMediaPlayer(string filePath, List <string> options) { var media = new Media(LibVLC, filePath); if (Settings.UseHardwareAcceleration) { var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding = true; media.AddOption(configuration); } foreach (var option in options) { media.AddOption(option); } var mediaPlayer = new MediaPlayer(media); return(mediaPlayer); }
protected override void OnResume() { base.OnResume(); Core.Initialize(); _libVLC = new LibVLC(); _mediaPlayer = new MediaPlayer(_libVLC); _videoView = new VideoView(this) { MediaPlayer = _mediaPlayer }; AddContentView(_videoView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent)); var media = new Media(_libVLC, "https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4", FromType.FromLocation); var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding(); media.AddOption(configuration); _videoView.MediaPlayer.Play(media); }
protected override void OnResume() { base.OnResume(); Core.Initialize(); var _libVLC = new LibVLC(); var _mediaPlayer = new MediaPlayer(_libVLC); var _videoView = FindViewById <VideoView>(Resource.Id.videoView1); _videoView.MediaPlayer = _mediaPlayer; var mediaUri = Android.Net.Uri.Parse("rtsp://*****:*****@190.117.54.230:554/ISAPI/Streaming/channels/101"); var m = new Media(_libVLC, mediaUri.ToString(), FromType.FromPath); var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding = true; //m.AddOption(":fullscreen"); m.AddOption(":codec=avcodec"); m.AddOption(configuration); m.AddOption(":file-caching=1500"); _mediaPlayer.Media = m; _videoView.MediaPlayer.Play(m); }
private void btnPlayMedia_Click(object sender, EventArgs e) { log("btnPlayMedia_Click"); mMediaInput = new MyMediaInput(); MP4Streamer mp4Streamer = new MP4Streamer(mMediaInput); mp4StreamerThread = new Thread(mp4Streamer.DoWork); mp4StreamerThread.Start(); mMedia = new Media(libVLC, mMediaInput); MediaConfiguration mediaConfiguration = new MediaConfiguration(); mediaConfiguration.EnableHardwareDecoding = true; mediaConfiguration.NetworkCaching = 150; mMedia.AddOption(mediaConfiguration); /*mMedia.AddOption(":clock-jitter=0"); * mMedia.AddOption(":clock-synchro=0");*/ videoView.MediaPlayer.Play(mMedia); }
public Media GetMedia(StartupConfiguration startupConfiguration) { var media = new Media(LibVLC, startupConfiguration.FilePath); if (Settings.UseHardwareAcceleration) { var configuration = new MediaConfiguration(); configuration.EnableHardwareDecoding = true; media.AddOption(configuration); } //if (!startupConfiguration.AutoPlay) //{ // media.AddOption(":start-paused"); //} if (!string.IsNullOrWhiteSpace(Settings.MediaOption)) { try { media.AddOption(Settings.MediaOption); } catch (Exception ex) { App.DebugLog(ex.ToString()); } } if (startupConfiguration.IsFileSubtitlesSelected) { media.AddOption(startupConfiguration.SelectedSubtitlesFile.EncodingOption); } //media.AddOption(":freetype-font=/storage/emulated/0/Download/arial.ttf"); //media.AddOption(":freetype-color=16711680"); foreach (var sub in startupConfiguration.ExternalSubtitles) { media.AddSlave(MediaSlaveType.Subtitle, 0, sub.FileUrl); } return(media); }
public void AddSimilar(int key, MediaConfiguration sourceId) { Enrich(key).Similar.Add(sourceId); }
protected override void OnCreate(Bundle savedInstanceState) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.OnCreate(savedInstanceState); // Keep screen on Window.AddFlags( WindowManagerFlags.KeepScreenOn | WindowManagerFlags.DismissKeyguard | WindowManagerFlags.ShowWhenLocked | WindowManagerFlags.TurnScreenOn ); // Initialize LibVLCSharp global::LibVLCSharp.Shared.Core.Initialize(); var config = new MediaConfiguration(); config.EnableHardwareDecoding = true; Jammit.Forms.App.DataDirectory = Xamarin.Essentials.FileSystem.AppDataDirectory; #if false // To prevent audo desync, use SoXR resampler. // See https://code.videolan.org/videolan/LibVLCSharp/issues/263#note_48330 Jammit.Forms.App.PlayerFactory = async(media) => await System.Threading.Tasks.Task.Run(() => new Audio.VlcJcfPlayer(media, new MediaConfiguration[] { config }, new string[] { })); #else Jammit.Forms.App.PlayerFactory = async(media) => await System.Threading.Tasks.Task.Run(() => { var player = new Audio.NAudioJcfPlayer( media, new Audio.AndroidWavePlayer { DesiredLatency = 60, NumberOfBuffers = 2 }, System.IO.Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory, "Tracks"), Forms.Resources.Assets.Stick); player.TimerAction = () => { Xamarin.Forms.Device.StartTimer(new TimeSpan(0, 0, 1), () => { Xamarin.Forms.Device.BeginInvokeOnMainThread(() => player.NotifyPositionChanged()); return(player.State == Audio.PlaybackStatus.Playing); }); }; return(player); }); #endif Jammit.Forms.App.MediaLoader = new Model.FileSystemJcfLoader(Xamarin.Essentials.FileSystem.AppDataDirectory); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); global::Xamarin.Essentials.Platform.Init(this, savedInstanceState); global::Xamarin.Forms.MessagingCenter.Subscribe <Jammit.Forms.Views.SongPage>(this, "PreventPortrait", sender => { RequestedOrientation = ScreenOrientation.Landscape; }); global::Xamarin.Forms.MessagingCenter.Subscribe <Jammit.Forms.Views.SongPage>(this, "AllowLandScapePortrait", sender => { RequestedOrientation = ScreenOrientation.Unspecified; }); LoadApplication(new Jammit.Forms.App()); }
protected Formatter(MediaConfiguration mediaConfiguration) : this() { if (mediaConfiguration == null) throw new ArgumentNullException("mediaConfiguration"); MediaConfiguration = mediaConfiguration; }
internal GridFormatter(MediaConfiguration mediaConfiguration) : base(mediaConfiguration) { Columns = new GridColumnCollection(); Columns.ItemsInserted += OnColumnsInserted; }
public void AddRelated(int key, MediaConfiguration sourceId) { Enrich(key).Related.Add(sourceId); }