void CreateMediaPlayerIfNeeded() { if (mediaPlayer != null) { mediaPlayer.Reset(); return; } mediaPlayer = new Android.Media.MediaPlayer(); mediaPlayer.SetWakeMode(Context.ApplicationContext, WakeLockFlags.Partial); mediaPlayer.SetOnPreparedListener(this); mediaPlayer.SetOnCompletionListener(this); mediaPlayer.SetOnErrorListener(this); mediaPlayer.SetOnSeekCompleteListener(this); }
private void IntializePlayer() { player = new MediaPlayer(); //Tell our player to sream music player.SetAudioStreamType(Stream.Music); //Wake mode will be partial to keep the CPU still running under lock screen player.SetWakeMode(ApplicationContext, WakeLockFlags.Partial); //When we have prepared the song start playback player.Prepared += (sender, args) => player.Start(); //When we have reached the end of the song stop ourselves, however you could signal next track here. player.Completion += (sender, args) => Stop(); player.Error += (sender, args) => { //playback error Console.WriteLine("Error in playback resetting: " + args.What); Stop();//this will clean up and reset properly. }; }
void CreateMediaPlayerIfNeeded () { LogHelper.Debug (Tag, "createMediaPlayerIfNeeded. needed? ", (mediaPlayer==null)); if (mediaPlayer == null) { mediaPlayer = new MediaPlayer (); mediaPlayer.SetWakeMode (service.ApplicationContext, Android.OS.WakeLockFlags.Partial); mediaPlayer.SetOnPreparedListener (this); mediaPlayer.SetOnCompletionListener (this); mediaPlayer.SetOnErrorListener (this); mediaPlayer.SetOnSeekCompleteListener (this); } else { mediaPlayer.Reset (); } }
void IntializePlayer () { _player = new MediaPlayer (); // Tell our player to sream music _player.SetAudioStreamType (Stream.Music); // Wake mode will be partial to keep the CPU still running under lock screen _player.SetWakeMode (ApplicationContext, WakeLockFlags.Partial); // When we have prepared the song start playback _player.Prepared += (sender, args) => _player.Start (); // When we have reached the end of the song stop ourselves, however you could signal next track here. _player.Completion += (sender, args) => { Stop (); CurrentEpisode.CurrentTime = CurrentEpisode.Duration; DrunkAudibleApplication.Self.Database.InsertOrReplace (CurrentEpisode); if (NextEpisode != null) { NextEpisode.CurrentTime = 0; CurrentEpisode = NextEpisode; } }; _player.Error += (sender, args) => { // playback error Log.Debug (DEBUG_TAG, "Error in playback resetting: " + args.What); Stop ();//this will clean up and reset properly. }; }
public void reproducir(string downloadurl, bool desdecache) { // musicaplayer.SetDataSource(downloadurl); if (playeroffline.gettearinstancia() != null) { try { musicaplayer.Release(); musicaplayer = new MediaPlayer(); #pragma warning disable 414 if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.N) { musicaplayer.SetAudioAttributes(new AudioAttributes.Builder() .SetUsage(AudioUsageKind.Media) .SetContentType(AudioContentType.Music) .Build()); } else { #pragma warning disable CS0618 // El tipo o el miembro están obsoletos musicaplayer.SetAudioStreamType(Android.Media.Stream.Music); #pragma warning restore CS0618 // El tipo o el miembro están obsoletos } #pragma warning restore 414 musicaplayer.SetWakeMode(this, WakeLockFlags.Partial); #pragma warning disable 414 #pragma warning disable CS0618 // El tipo o el miembro están obsoletos var focusResult = audioManager.RequestAudioFocus(this, Stream.Music, AudioFocus.Gain); #pragma warning restore CS0618 // El tipo o el miembro están obsoletos #pragma warning restore 414 if (focusResult != AudioFocusRequest.Granted) { //could not get audio focus Console.WriteLine("Could not get audio focus"); } musicaplayer.Prepared += delegate { musicaplayer.Start(); if (this.desdecache) { musicaplayer.Pause(); } if (playeroffline.gettearinstancia() != null) { if (playeroffline.gettearinstancia().video.Visibility == ViewStates.Visible) { musicaplayer.SetDisplay(null); musicaplayer.SetDisplay(playeroffline.gettearinstancia().holder); } if (SettingsHelper.HasKey("posactual") && this.desdecache) { var posicion = 0; try { posicion = int.Parse(SettingsHelper.GetSetting("posactual")); musicaplayer.SeekTo(posicion); } catch (Exception) { } } } }; musicaplayer.Completion += delegate { playeroffline.gettearinstancia().RunOnUiThread(() => { playeroffline.gettearinstancia().RunOnUiThread(() => { playeroffline.gettearinstancia().siguiente.PerformClick(); }); }); }; musicaplayer.SetDataSource(this, Android.Net.Uri.Parse(downloadurl.Trim())); mostrarnotificacion(); musicaplayer.PrepareAsync(); } catch (Exception) { //if() playeroffline.gettearinstancia().RunOnUiThread(() => { Toast.MakeText(playeroffline.gettearinstancia(), "Error al reproducir", ToastLength.Long).Show(); }); } } else { musicaplayer.Reset(); StopSelf(); } }
public void InitMusicPlayer() { _appSettingsHelper = new AppSettingsHelper(); _player = new MediaPlayer(); _wifiLock = ((WifiManager)GetSystemService(WifiService)).CreateWifiLock(WifiMode.Full, "playerLock"); _player.SetWakeMode(ApplicationContext, WakeLockFlags.Partial); _player.SetAudioStreamType(Stream.Music); _player.SetOnPreparedListener(this); _player.SetOnCompletionListener(this); _player.SetOnErrorListener(this); _audioManager = (AudioManager) GetSystemService(AudioService); _mediaButtonReceiverComponent = new ComponentName(ApplicationContext, Class.FromType(typeof (HeadsetButtonsReceiver))); _audioManager.RegisterMediaButtonEventReceiver(_mediaButtonReceiverComponent); }
/// <summary> /// Intializes the player. /// </summary> private void InitializePlayer () { mediaPlayer = new MediaPlayer (); //Tell our player to sream music mediaPlayer.SetAudioStreamType (Stream.Music); //Wake mode will be partial to keep the CPU still running under lock screen mediaPlayer.SetWakeMode (ApplicationContext, WakeLockFlags.Partial); mediaPlayer.SetOnBufferingUpdateListener (this); mediaPlayer.SetOnCompletionListener (this); mediaPlayer.SetOnErrorListener (this); mediaPlayer.SetOnPreparedListener (this); }
public void reproducir(string downloadurl) { // musicaplayer.SetDataSource(downloadurl); if (YoutubePlayerServerActivity.gettearinstancia() != null) { musicaplayer.Release(); musicaplayer = new MediaPlayer(); if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.N) { musicaplayer.SetAudioAttributes(new AudioAttributes.Builder().SetUsage(AudioUsageKind.Media).SetContentType(AudioContentType.Music).Build()); } else { #pragma warning disable CS0618 // El tipo o el miembro están obsoletos musicaplayer.SetAudioStreamType(Android.Media.Stream.Music); #pragma warning restore CS0618 // El tipo o el miembro están obsoletos } musicaplayer.SetWakeMode(this, WakeLockFlags.Partial); #pragma warning disable CS0618 // El tipo o el miembro están obsoletos var focusResult = audioManager.RequestAudioFocus(this, Stream.Music, AudioFocus.Gain); #pragma warning restore CS0618 // El tipo o el miembro están obsoletos // musicaplayer.SetVideoScalingMode(VideoScalingMode.ScaleToFitWithCropping); if (focusResult != AudioFocusRequest.Granted) { //could not get audio focus Console.WriteLine("Could not get audio focus"); } musicaplayer.Error += (aa, aaaa) => { Console.WriteLine("klk aw aw aw"); }; musicaplayer.Info += (aa, aaa) => { var instancia = YoutubePlayerServerActivity.gettearinstancia(); if (instancia != null) { switch (aaa.What) { case MediaInfo.BufferingStart: if (instancia.prgBuffering.Visibility != ViewStates.Visible) { instancia.prgBuffering.Visibility = ViewStates.Visible; } break; case MediaInfo.BufferingEnd: if (instancia.prgBuffering.Visibility != ViewStates.Gone) { instancia.prgBuffering.Visibility = ViewStates.Gone; } break; case MediaInfo.VideoRenderingStart: if (instancia.prgBuffering.Visibility != ViewStates.Gone) { instancia.prgBuffering.Visibility = ViewStates.Gone; } break; } ; } }; musicaplayer.Prepared += delegate { if (YoutubePlayerServerActivity.gettearinstancia().videoon) { YoutubePlayerServerActivity.gettearinstancia().RunOnUiThread(() => { try { musicaplayer.SetDisplay(null); musicaplayer.SetDisplay(YoutubePlayerServerActivity.gettearinstancia().videoSurfaceHolder); } catch (Exception) { } YoutubePlayerServerActivity.gettearinstancia().SetVideoSize(); }); } musicaplayer.Start(); if (YoutubePlayerServerActivity.gettearinstancia().qualitychanged) { try { YoutubePlayerServerActivity.gettearinstancia().qualitychanged = false; musicaplayer.SeekTo(YoutubePlayerServerActivity.gettearinstancia().previousprogress); } catch (Exception) { } } }; musicaplayer.Completion += delegate { if ((musicaplayer.Duration > 5 && musicaplayer.CurrentPosition > 5)) { new Thread(() => { YoutubePlayerServerActivity.gettearinstancia().NextVideo(); }).Start(); } }; mostrarnotificacion(); musicaplayer.SetDataSource(this, Android.Net.Uri.Parse(downloadurl)); musicaplayer.PrepareAsync(); } else { musicaplayer.Reset(); StopSelf(); } }