public static void MostarCola(Usuario usuario, ArchivoMultimedia archivoReproduciendo) //Mostar cola { int i = 1; if (archivoReproduciendo.GetType().Name == "Cancion") { Console.WriteLine("Cola canciones: "); foreach (Cancion cancion in usuario.colaCanciones) { Console.WriteLine(Convert.ToString(i) + ". " + cancion.nombre); i++; } } else if (archivoReproduciendo.GetType().Name == "Video") { Console.WriteLine("Cola videos: "); foreach (Video video in usuario.colaVideos) { Console.WriteLine(Convert.ToString(i) + ". " + video.nombre); i++; } } Console.WriteLine("Pulsa cualquier tecla para volver atras"); Console.ReadKey(); }
public static void GuardarArchivo(ArchivoMultimedia archivo, int tiempo, Usuario usuario) //Guardar Archivo si se estaba reproduciendo { usuario.archivoReproduccion = archivo; usuario.tiempoReproduccion = tiempo; }
public static void CargarArchivoCola(List <Cancion> canciones, List <Video> videos, Usuario usuario, ArchivoMultimedia archivoReproduciendo) //Agregar a cola { if (archivoReproduciendo.GetType().Name == "Cancion") { bool cancionCola = false; Cancion cancion = CancionesReproductor(canciones); foreach (var cancion1 in usuario.colaCanciones) { if (cancion.nombre == cancion1.nombre) { Console.WriteLine("Canción ya se encuentra en la cola"); cancionCola = true; Thread.Sleep(1000); } } if (!cancionCola) { usuario.colaCanciones.Add(cancion); } } else if (archivoReproduciendo.GetType().Name == "Video") { bool videoCola = false; Video video = VideosReproductor(videos); foreach (var video1 in usuario.colaVideos) { if (video.nombre == video1.nombre) { Console.WriteLine("Video ya se encuentra en la cola"); videoCola = true; Thread.Sleep(1000); } } if (!videoCola) { usuario.colaVideos.Add(video); } } }
public static void EmpezarReproductor(List <Cancion> canciones, List <Video> videos, Usuario usuario, ArchivoMultimedia ultimaReproduccion, List <Publicidad> publicidades, int tiempoGuardado = 0) //Reproductor { ArchivoMultimedia archivo = null; while (true) { int inicio = 0; bool firstTime = true; while (true) { if (ultimaReproduccion == null && archivo == null) { Console.Clear(); inicio = 0; Console.WriteLine("1. Canciones" + "\n2. Videos"); int eleccion = Convert.ToInt32(Console.ReadLine()); Console.Clear(); switch (eleccion) { case 1: Cancion cancion = CancionesReproductor(canciones); archivo = cancion; break; case 2: Video video = VideosReproductor(videos); archivo = video; break; default: Console.WriteLine("Opción no valida"); break; } } else if (ultimaReproduccion != null && archivo == null) { Console.WriteLine("¿Desea reanudar desde ultima reproducción? (s/n)"); string eleccion2 = Console.ReadLine(); if (eleccion2 == "n") { ultimaReproduccion = null; usuario.colaVideos.Clear(); usuario.colaCanciones.Clear(); continue; } archivo = ultimaReproduccion; inicio = tiempoGuardado; } break; } Console.Clear(); if (archivo != null) { if (usuario.tipoUsuario == "Gratis") { ReproducirPublicidad(publicidades); } if (ultimaReproduccion == null) { archivo.numeroReproducciones++; } Barra.WriteProgressBar(0, "00:00"); int minutos = -1; int segundos = inicio; for (var i = inicio; i <= archivo.duracion; ++i) { if (i % 60 == 0) { minutos++; segundos = 0; } else { segundos++; } if (ultimaReproduccion != null && i % 60 != 0 && firstTime) { minutos++; firstTime = false; } string tiempo; if (segundos < 10) { tiempo = String.Format("{0}:0{1}", minutos, segundos); } else { tiempo = String.Format("{0}:{1}", minutos, segundos); } if (!Console.KeyAvailable) { int progreso = ((i * 100) / archivo.duracion); Barra.WriteProgressBar(progreso, tiempo, true); if (archivo.GetType().Name == "Cancion") { Console.WriteLine("\n\n Canción: " + archivo.nombre); } else { Console.WriteLine("\n\n Video: " + archivo.nombre); } Console.WriteLine("\n Presione: \n P: Pausar C: Cola" + "\n Presione 2 veces: \n R: Reproducir S: Salir "); Thread.Sleep(1000); } else if (Console.ReadKey(true).Key == ConsoleKey.C) { Console.WriteLine(String.Format("\n1. Mostar Cola" + "\n2. Agregar {0} a cola", archivo.GetType().Name)); int eleccion = Convert.ToInt32(Console.ReadLine()); switch (eleccion) { case 1: MostarCola(usuario, archivo); break; case 2: CargarArchivoCola(canciones, videos, usuario, archivo); break; default: break; } } else if (Console.ReadKey(true).Key == ConsoleKey.S) { GuardarArchivo(archivo, i, usuario); return; } else if (Console.ReadKey(true).Key == ConsoleKey.P) { i--; while (!(Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.R)) { } } } Console.WriteLine(); usuario.archivoReproduccion = null; usuario.tiempoReproduccion = 0; if (archivo.GetType().Name == "Cancion" && usuario.colaCanciones.Count != 0) { Cancion siguienteCancion = usuario.colaCanciones[0]; archivo = siguienteCancion; usuario.colaCanciones.Remove(siguienteCancion); } else if (archivo.GetType().Name == "Video" && usuario.colaVideos.Count != 0) { Video siguienteVideo = usuario.colaVideos[0]; archivo = siguienteVideo; usuario.colaVideos.Remove(siguienteVideo); } else { Console.WriteLine("¿Desea reproducir otra archivo? (s/n)"); string eleccion2 = Console.ReadLine(); if (eleccion2 == "n") { break; } archivo = null; } } else { Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine("SELECCION NO VALIDA"); Console.BackgroundColor = ConsoleColor.Black; Thread.Sleep(2000); break; } } }