private void MusicDialog_Click(object sender, EventArgs e) { OnPicked?.Invoke(null); _audioPlayer.Stop(); _audioPlayer.Release(); Dismiss(); }
//private IMediaSource CreateCacheMediaSource(IMediaSource videoSource, Android.Net.Uri videoUrL) //{ // try // { // var url = System.IO.Path.Combine(UserResponseURL.DirectoryURL, selectedMedia.VideoLocation); // var file = VideoDownloadAsyncController.GetDownloadedDiskVideoUri(url); // SimpleCache cache = new SimpleCache(this.CacheDir, new LeastRecentlyUsedCacheEvictor(1024 * 1024 * 10)); // CacheDataSourceFactory cacheDataSource = new CacheDataSourceFactory(cache, DefaultDataMediaFactory); // if (!string.IsNullOrEmpty(file)) // { // videoUrL = Android.Net.Uri.Parse(file); // videoSource = GetMediaSourceFromUrl(videoUrL, "normal"); // return videoSource; // } // else // { // return null; // } // } // catch (Exception exception) // { // Console.WriteLine(exception); // return null; // } //} public void Play() { try { progressBar.Visibility = ViewStates.Visible; if (Player != null) { Player.Stop(); Player.Release(); } InitializePlayer(); if (selectedMedia.VideoLocation.Contains(".mp4")) { imgAudio.Visibility = ViewStates.Gone; SimpleExoPlayerView.Visibility = ViewStates.Visible; SimpleExoPlayerView.ResizeMode = AspectRatioFrameLayout.ResizeModeZoom; SimpleExoPlayerView.Player = Player; SimpleExoPlayerView.UseController = false; swipListener.SwipeEvent -= SwipListener_SwipeEvent; swipListener.SwipeEvent += SwipListener_SwipeEvent; SimpleExoPlayerView.SetOnTouchListener(swipListener); } else { imgAudio.Visibility = ViewStates.Visible; SimpleExoPlayerView.Visibility = ViewStates.Gone; swipListener.SwipeEvent -= SwipListener_SwipeEvent; swipListener.SwipeEvent += SwipListener_SwipeEvent; imgAudio.SetOnTouchListener(swipListener); Glide.With(this).Load(System.IO.Path.Combine(UserResponseURL.DirectoryURL, selectedMedia.Thumbnail)).Into(imgAudio); } var url = Android.Net.Uri.Parse(System.IO.Path.Combine(UserResponseURL.DirectoryURL, selectedMedia.VideoLocation)); var VideoSource = GetMediaSourceFromUrl(url, "normal"); Player.Prepare(VideoSource); Player.AddListener(new LatestPlayerListener(this)); Player.PlayWhenReady = true; Glide.With(this).Load(UserResponseURL.DirectoryUserSettings + selectedMedia.Avatar).Into(imgProfile); txtUserName.Text = selectedMedia.Username; txtdays.Text = Helpers.DateTimeHelper.GetDateTimeString(selectedMedia.Timestamp); txtDescription.Text = selectedMedia.Description; txtLikeNumber.Text = selectedMedia.Likes; txtShareNumber.Text = selectedMedia.Shares; txtCommentNumber.Text = selectedMedia.Comments; if (selectedMedia.IsLiked == "1") // true { btnLike.Tag = "1"; btnLike.SetImageResource(Resource.Drawable.like_blue); } else { btnLike.Tag = "0"; btnLike.SetImageResource(Resource.Drawable.like_white); } } catch (System.Exception ex) { } }
protected override void Dispose(bool disposing) { //if (Control != null && videoView != null) //{ // videoView.Prepared -= OnVideoViewPrepared; //} if (Element != null) { Element.UpdateStatus -= OnUpdateStatus; } ExoPlayer.Stop(); ExoPlayer.Release(); PlayerView.Dispose(); base.Dispose(disposing); }
public void Play(string url) { if (clicks % 2 == 0) { #region ExoPlayer var mediaUrl = url; var mediaUri = Android.Net.Uri.Parse(mediaUrl); Android.Content.Context context = Android.App.Application.Context; var userAgent = Util.GetUserAgent(context, "InstationPlayer"); var defaultHttpDataSourceFactory = new DefaultHttpDataSourceFactory(userAgent); var defaultDataSourceFactory = new DefaultDataSourceFactory(context, null, defaultHttpDataSourceFactory); var extractorMediaSource = new ExtractorMediaSource(mediaUri, defaultDataSourceFactory, new DefaultExtractorsFactory(), null, null); var defaultBandwidthMeter = new DefaultBandwidthMeter(); var adaptiveTrackSelectionFactory = new AdaptiveTrackSelection.Factory(defaultBandwidthMeter); var defaultTrackSelector = new DefaultTrackSelector(adaptiveTrackSelectionFactory); exoPlayer = ExoPlayerFactory.NewSimpleInstance(context, defaultTrackSelector); exoPlayer.Prepare(extractorMediaSource); Console.WriteLine("Prepared"); exoPlayer.PlayWhenReady = true; Console.WriteLine("Started"); clicks++; #endregion } else if (clicks % 2 != 0) { exoPlayer.Stop(); Console.WriteLine("Paused"); clicks++; } }
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e) { base.OnElementPropertyChanged(sender, e); if (e.PropertyName == ExtendedVideoPlayer.IsAppearedProperty.PropertyName) { if (!(Element.IsAppeared) && _exoPlayer != null) { _exoPlayer.PlayWhenReady = false; } } else if (e.PropertyName == ExtendedVideoPlayer.SourceProperty.PropertyName) { string s = Element.Source; _exoPlayer.Stop(); IMediaSource videoSource = new ExtractorMediaSource( Android.Net.Uri.Parse(Element.Source), new CacheableDataSource(Context, 100 * 1024 * 1024, 5 * 1024 * 1024), new DefaultExtractorsFactory(), null, null); _exoPlayer.Prepare(videoSource); } }
internal void StopPlayback() { _player.Stop(); _audioPlayer.PlayWhenReady = false; _player.PlayWhenReady = false; //FindViewById<ImageView>(Resource.Id.pausebtn).Visibility = ViewStates.Gone; mediaSource = null; seeker.Visibility = ViewStates.Invisible; _playerView.Visibility = ViewStates.Invisible; //show play button //FindViewById<ImageView>(Resource.Id.pausebtn).SetImageResource(Resource.Drawable.baseline_play_circle_outline_white_48); //FindViewById(Resource.Id.pausebtn).Visibility = ViewStates.Visible; }
protected override void OnElementChanged(ElementChangedEventArgs <VideoPlayer> args) { base.OnElementChanged(args); if (_player == null) { InitializePlayer(); } if (_player.IsPlayingAd || _player.IsLoading) { _player.Stop(); } fullscreenOrientation = ScreenOrientation.Landscape; Play(); SetupFunctionality(args); fullscreenView = (ImageView)_playerView.FindViewById(Resource.Id.exo_fullscreen_icon); fullscreenView.Click += delegate { if (isFullscreen) { _playerView.SystemUiVisibility = (StatusBarVisibility)SystemUiFlags.Visible; setMiniPlayer(); ((IVideoPlayerController)Element).Fullscreen = false; } else { _playerView.SystemUiVisibility = (StatusBarVisibility)uiFullScreenOptions; setFullScreenPlayer(); ((IVideoPlayerController)Element).Fullscreen = true; } }; }
internal void SetAudio(string v) { //set audio: if (v != null) { audioSource = new ExtractorMediaSource(Android.Net.Uri.Parse(v), httpDataSourceFactory, extractorsFactory, null, null); _audioPlayer.Prepare(audioSource); _audioPlayer.PlayWhenReady = false; } else { audioSource = null; _audioPlayer.Stop(); } }
public override async Task Stop() { _mediaPlayer.Stop(); await base.Stop(); }
public void Stop() { TheExoPlayer.Stop(); }
/// <summary> /// Stops the and dispose. /// </summary> public void StopAndDispose() { _player.Stop(); //_player.Dispose(); }
public void Stop() { player.Stop(); isPlaying = false; }
//private IMediaSource CreateCacheMediaSource(IMediaSource videoSource, Android.Net.Uri videoUrL) //{ // try // { // var url = System.IO.Path.Combine(UserResponseURL.DirectoryURL, selectedMedia.VideoLocation); // var file = VideoDownloadAsyncController.GetDownloadedDiskVideoUri(url); // SimpleCache cache = new SimpleCache(this.CacheDir, new LeastRecentlyUsedCacheEvictor(1024 * 1024 * 10)); // CacheDataSourceFactory cacheDataSource = new CacheDataSourceFactory(cache, DefaultDataMediaFactory); // if (!string.IsNullOrEmpty(file)) // { // videoUrL = Android.Net.Uri.Parse(file); // videoSource = GetMediaSourceFromUrl(videoUrL, "normal"); // return videoSource; // } // else // { // return null; // } // } // catch (Exception exception) // { // Console.WriteLine(exception); // return null; // } //} public void PlayAsync() { try { progressBar.Visibility = ViewStates.Visible; if (Player != null) { Player.Stop(); Player.Release(); } InitializePlayer(); if (selectedMedia.VideoLocation.Contains(".mp4")) { imgAudio.Visibility = ViewStates.Gone; SimpleExoPlayerView.Visibility = ViewStates.Visible; SimpleExoPlayerView.ResizeMode = AspectRatioFrameLayout.ResizeModeZoom; SimpleExoPlayerView.Player = Player; SimpleExoPlayerView.UseController = false; swipListener.SwipeEvent -= SwipListener_SwipeEvent; swipListener.SwipeEvent += SwipListener_SwipeEvent; SimpleExoPlayerView.SetOnTouchListener(swipListener); } else { imgAudio.Visibility = ViewStates.Visible; SimpleExoPlayerView.Visibility = ViewStates.Gone; swipListener.SwipeEvent -= SwipListener_SwipeEvent; swipListener.SwipeEvent += SwipListener_SwipeEvent; imgAudio.SetOnTouchListener(swipListener); Glide.With(this).Load(System.IO.Path.Combine(UserResponseURL.DirectoryURL, selectedMedia.Thumbnail)).Into(imgAudio); } var url = Android.Net.Uri.Parse(System.IO.Path.Combine(UserResponseURL.DirectoryURL, selectedMedia.VideoLocation)); var VideoSource = GetMediaSourceFromUrl(url, "normal"); Player.Prepare(VideoSource); PlayerListener playerListener = new PlayerListener(this); playerListener.MediaPlayCompleted = () => { if (!string.IsNullOrEmpty(UserDetails.AccessToken)) { UserResponseAPI.ViewVideoResponse(selectedMedia.RvId); TabbedMainActivity.GetInstance().VideoDataWithEventsLoader .ResponseFragment.UserResponseAdapter.UserResponseList .Where(x => x.VideoLocation == selectedMedia.VideoLocation) .FirstOrDefault().RvvId = string.Empty; TabbedMainActivity.GetInstance().VideoDataWithEventsLoader .ResponseFragment.UserResponseAdapter .NotifyItemChanged(mediaList.FindIndex(x => x.VideoLocation == selectedMedia.VideoLocation)); } }; Player.AddListener(playerListener); Player.PlayWhenReady = true; Glide.With(this).Load(UserResponseURL.DirectoryUserSettings + selectedMedia.Avatar).Into(imgProfile); txtUserName.Text = selectedMedia.Username; txtdays.Text = Helpers.DateTimeHelper.GetDateTimeString(selectedMedia.Timestamp); txtDescription.Text = selectedMedia.Description; txtLikeNumber.Text = selectedMedia.Likes; txtShareNumber.Text = selectedMedia.Shares; txtCommentNumber.Text = selectedMedia.Comments; if (selectedMedia.IsLiked == "1") // true { btnLike.Tag = "1"; btnLike.SetImageResource(Resource.Drawable.like_blue); } else { btnLike.Tag = "0"; btnLike.SetImageResource(Resource.Drawable.like_white); } } catch (System.Exception ex) { } }