private void Form1_Shown(object sender, EventArgs e) { if (_player == null) { _player = new MediaPlayerGST(videoView1); _player.OnStop += _player_OnStop; _player.OnAudioVUMeter += _player_OnAudioVUMeter; _player.OnError += _player_OnError; _player.OnStreamsInfoAvailable += _player_OnStreamsInfoAvailable; foreach (var font in _player.Fonts_Names) { cbTextOverlayFontName.Items.Add(font); } if (cbTextOverlayFontName.Items.Count > 0) { cbTextOverlayFontName.SelectedIndex = 0; } foreach (var item in _player.Audio_OutputDevices) { cbAudioOutputDevice.Items.Add(item); } if (cbAudioOutputDevice.Items.Count > 0) { cbAudioOutputDevice.SelectedIndex = 0; } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.main); tmPosition.Elapsed += tmPosition_Elapsed; videoView = FindViewById <VisioForge.Core.MediaPlayerGST.Android.VideoView>(Resource.Id.videoView); _player = new MediaPlayerGST(videoView, JNIEnv.Handle, this); _player.OnStart += _player_OnStart; btOpenFile = FindViewById <Button>(Resource.Id.btOpenFile); btOpenFile.Click += btOpenFile_Click; btStart = FindViewById <Button>(Resource.Id.btStart); btStart.Click += btStart_Click; btPause = FindViewById <Button>(Resource.Id.btPause); btPause.Click += btPause_Click; btStop = FindViewById <Button>(Resource.Id.btStop); btStop.Click += btStop_Click; sbTimeline = FindViewById <SeekBar>(Resource.Id.sbTimeline); sbTimeline.ProgressChanged += sbTimeline_ProgressChanged; sbTimeline.StartTrackingTouch += delegate(object sender, SeekBar.StartTrackingTouchEventArgs args) { isSeeking = true; }; sbTimeline.StopTrackingTouch += delegate(object sender, SeekBar.StopTrackingTouchEventArgs args) { isSeeking = false; }; lbPosition = FindViewById <TextView>(Resource.Id.lbPosition); pnScreen = FindViewById <GridLayout>(Resource.Id.pnScreen); edURL = FindViewById <EditText>(Resource.Id.edURL); edURL.Text = TEST_URL; }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: dispose managed state (managed objects) } _tmPosition?.Dispose(); _tmPosition = null; VideoView1?.Dispose(); VideoView1 = null; _player?.Dispose(); _player = null; disposedValue = true; } }
private void InitPlayer() { _player = new MediaPlayerGST(VideoView1); _player.OnStop += Player_OnStop; _player.OnError += Player_OnError; }