示例#1
0
        private void Btnsiguiente_Click(object sender, RoutedEventArgs e)
        {
            int a = 0, b = 0;



            var cancion = new Cancioneslist();

            string ubicacion = cancion.Ubicacion;

            listBoxBiblio.SelectedIndex = listBoxBiblio.SelectedIndex + 1;
            //mediaPlayer.Open(new Uri(ubicacion));
        }
示例#2
0
        private void BtnGlist_Click(object sender, RoutedEventArgs e)
        {
            Cancioneslist  CancionesPlaylist   = new Cancioneslist();
            Asignacionlist AsignacionlistaJson = new Asignacionlist();
            var            cancion             = listBoxBiblio.SelectedItem.ToString();
            var            cargar = CancionesPlaylist.Ubicacion;


            AsignacionlistaJson.Nombrelista = txtBoxNombrelist.Text;
            AsignacionlistaJson.Contentlist = cancion;

            nombretxtlist.Text = AsignacionlistaJson.Nombrelista;

            string       salida = JsonConvert.SerializeObject(AsignacionlistaJson);
            FileStream   stream = new FileStream("Playlist.Json", FileMode.Append, FileAccess.Write);
            StreamWriter writer = new StreamWriter(stream);

            writer.WriteLine(salida);
            writer.Close();
            MessageBox.Show("Ingresado Exitosamente!!");



            List <Asignacionlist> listacanciones = new List <Asignacionlist>();

            FileStream   streamo = new FileStream("playlist.json", FileMode.Open, FileAccess.Read);
            StreamReader reader  = new StreamReader(streamo);

            while (reader.Peek() > -1)
            {
                string         lectura    = reader.ReadLine();
                Asignacionlist libroLeido = JsonConvert.DeserializeObject <Asignacionlist>(lectura);
                listacanciones.Add(libroLeido);
            }
            reader.Close();

            liBoxList.ItemsSource       = listacanciones;
            liBoxList.DisplayMemberPath = "Contentlist";
            //mediaPlayer.Open(new Uri(cargar));


            //  Volver a ocultar datos creacion playlit
            lbIngrese.Visibility        = Visibility.Hidden;
            txtBoxNombrelist.Visibility = Visibility.Hidden;
            btnGlist.Visibility         = Visibility.Hidden;
        }
示例#3
0
        private void BtnActualizar_Click(object sender, RoutedEventArgs e)
        {
            List <Cancioneslist> listacanciones = new List <Cancioneslist>();

            FileStream   stream = new FileStream("Biblioteca.json", FileMode.Open, FileAccess.Read);
            StreamReader reader = new StreamReader(stream);

            while (reader.Peek() > -1)
            {
                string        lectura    = reader.ReadLine();
                Cancioneslist libroLeido = JsonConvert.DeserializeObject <Cancioneslist>(lectura);
                listacanciones.Add(libroLeido);
            }
            reader.Close();

            listBoxBiblio.ItemsSource       = listacanciones;
            listBoxBiblio.DisplayMemberPath = "Nombre";
        }
示例#4
0
        private async void BtnDescargar_Click(object sender, RoutedEventArgs e)
        {
            //nuevo cliente de Youtube
            var client = new YoutubeClient();
            //lee la dirección de youtube que le escribimos en el textbox
            var videoId = NormalizeVideoId(txtYoutubeURL.Text);
            var video   = await client.GetVideoAsync(videoId);

            var streamInfoSet = await client.GetVideoMediaStreamInfosAsync(videoId);

            // Busca la mejor resolución en la que está disponible el video
            var streamInfo = streamInfoSet.Muxed.WithHighestVideoQuality();

            // Compone el nombre que tendrá el video en base a su título y extensión
            var fileExtension = streamInfo.Container.GetFileExtension();
            var fileName      = $"{video.Title}.{fileExtension}";

            //TODO: Reemplazar los caractéres ilegales del nombre
            fileName = CleanInput(fileName);


            //Activa el timer para que el proceso funcione de forma asincrona
            //tmrVideo.Enabled = true;


            // mensajes indicando que el video se está descargando
            //txtMensaje.Text = "Descargando el video ... ";
            MessageBox.Show("Descargando... porfavor espere...");
            pbStatus.Visibility       = Visibility.Visible;
            txtdescargando.Visibility = Visibility.Visible;

            //TODO: se pude usar una barra de progreso para ver el avance
            //using (ProgressBar progress = new ProgressBar())

            //Empieza la descarga
            await client.DownloadMediaStreamAsync(streamInfo, fileName);


            //Ya descargado se inicia la conversión a MP3
            var Convert = new NReco.VideoConverter.FFMpegConverter();
            //Especificar la carpeta donde se van a guardar los archivos, recordar la \ del final

            String SaveMP3File = @"C:\DescargasPF\" + fileName.Replace(".mp4", ".mp3");

            //Guarda el archivo convertido en la ubicación indicada
            Convert.ConvertMedia(fileName, SaveMP3File, "mp3");


            //Si el checkbox de solo audio está chequeado, borrar el mp4 despues de la conversión
            //if (ckbAudio.Checked)
            //   File.Delete(fileName);


            //Indicar que se terminó la conversion
            MessageBox.Show("Archivo descargado y convertido");
            pbStatus.Visibility       = Visibility.Hidden;
            txtdescargando.Visibility = Visibility.Hidden;

            //TODO: Cargar el MP3 al reproductor o a la lista de reproducción
            mediaPlayer.Open(new Uri(SaveMP3File));

            Cancioneslist CancionesJson = new Cancioneslist();

            CancionesJson.Nombre    = fileName;
            CancionesJson.Ubicacion = SaveMP3File;

            string       salida = JsonConvert.SerializeObject(CancionesJson);
            FileStream   stream = new FileStream("Biblioteca.Json", FileMode.Append, FileAccess.Write);
            StreamWriter writer = new StreamWriter(stream);

            writer.WriteLine(salida);
            writer.Close();
            MessageBox.Show("Ingresado Exitosamente!!");
        }