Example #1
0
        private async Task MainAsync()
        {
            clsBiblioteca biblioteca = new clsBiblioteca();
            //Nuevo Cliente de YouTube
            var client = new YoutubeClient();
            //Lee la URL de youtube que le escribimos en el textbox.
            var videoId = NormalizeVideoId(txtURL.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 = RemoveIllegalFileNameChars(fileName);
            //Activa el timer para que el proceso funcione de forma asincrona
            ckbAudio.Enabled = true;
            // mensajes indicando que el video se está descargando
            label4.Text = "Descargando el video...";
            //TODO: se pude usar una barra de progreso para ver el avance
            //using (var 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:\Users\Ramirez\Documents\Visual Studio 2015\Projects\ProyectoFinal3\ProyectoFinal3\mp3" + fileName.Replace(".mp4", ".mp3");

            biblioteca.Url     = SaveMP3File;
            biblioteca.Cancion = fileName;
            //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("Vídeo convertido correctamente.");
            label4.Text      = "";
            txtURL.Text      = "";
            ckbAudio.Enabled = false;

            biblioteca.Letra   = URlLyries;
            biblioteca.Portada = URLportada;
            biblioteca.Id      = contador.ToString();
            GuardarBiblioteca(biblioteca);
            // GuardarCancion(biblioteca);
            //TODO: Cargar el MP3 al reproductor o a la lista de reproducción
            //CargarMP3s();
            //Se puede incluir un checkbox para indicar que de una vez se reproduzca el MP3
            //if (ckbAutoPlay.Checked)
            //  ReproducirMP3(SaveMP3File);
            return;
        }
Example #2
0
        private void GuardarBiblioteca(clsBiblioteca objBiblioteca)
        {
            string       salida = JsonConvert.SerializeObject(objBiblioteca);
            FileStream   stream = new FileStream("Biblioteca.json", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter writer = new StreamWriter(stream);

            writer.WriteLine(salida);
            writer.Close();
        }
Example #3
0
        //private void leerBiblioteca()
        // {
        //     List<clsBiblioteca> obj = new List<clsBiblioteca>();
        //     FileStream stream = new FileStream("biblioteca.json", FileMode.Open, FileAccess.Read);
        //     StreamReader reader = new StreamReader(stream);
        //     while (reader.Peek() > -1)
        //     {
        //         string lectura = reader.ReadLine();
        //         clsBiblioteca libroLeido = JsonConvert.DeserializeObject<clsBiblioteca>(lectura);
        //         obj.Add(libroLeido);
        //     }
        //     reader.Close();
        //     //Mostrar la lista de libros en el gridview
        //     dataGridView1.DataSource = obj;
        //     dataGridView1.Refresh();

        // }

        private void GuardarCancion(clsBiblioteca p)
        {
            string       salida = JsonConvert.SerializeObject(p);
            FileStream   stream = new FileStream("Biblioteca.json", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter writer = new StreamWriter(stream);

            writer.WriteLine(salida);
            writer.Close();

            MessageBox.Show("Ingresado");
        }
Example #4
0
        private void btnSeleccionar_Click(object sender, EventArgs e)
        {
            clsBiblioteca cancion = new clsBiblioteca();

            cancion.Id      = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            cancion.Cancion = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            cancion.Url     = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            cancion.Portada = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            cancion.Letra   = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            ListaRep.Add(cancion);
            SaveMyPlayLists(cancion);
            dataGridView2.DataSource = null;
            dataGridView2.DataSource = ListaRep;
            dataGridView2.Refresh();
        }
Example #5
0
        private void leerBiblioteca()
        {
            FileStream   stream = new FileStream("Biblioteca.json", FileMode.Open, FileAccess.Read);
            StreamReader reader = new StreamReader(stream);

            while (reader.Peek() > -1)
            {
                string        lectura    = reader.ReadLine();
                clsBiblioteca libroLeido = JsonConvert.DeserializeObject <clsBiblioteca>(lectura);
                ListBiblioteca.Add(libroLeido);
            }
            reader.Close();
            dataGridView1.DataSource = ListBiblioteca;
            dataGridView1.Refresh();
        }
Example #6
0
 private void SaveMyPlayLists(clsBiblioteca biblioteca)
 {
     if (txtNombreLista.Text == "")
     {
         MessageBox.Show("Ingresar nombre");
     }
     else
     {
         NamePlayList = "C:\\Users\\Ramirez\\Documents\\Visual Studio 2015\\Projects\\ProyectoFinal3\\ProyectoFinal3\\lyries\\" + txtNombreLista.Text + ".json";
         string       salida = JsonConvert.SerializeObject(biblioteca);
         FileStream   stream = new FileStream(NamePlayList, FileMode.Append, FileAccess.Write);
         StreamWriter writer = new StreamWriter(stream);
         writer.WriteLine(salida);
         writer.Close();
     }
 }
Example #7
0
        private void LeerBiblioteca()
        {
            FileStream   stream = new FileStream("Biblioteca.json", FileMode.Open, FileAccess.Read);
            StreamReader reader = new StreamReader(stream);

            while (reader.Peek() > -1)
            {
                string        lectura    = reader.ReadLine();
                clsBiblioteca libroLeido = JsonConvert.DeserializeObject <clsBiblioteca>(lectura);
                listBiblioteca.Add(libroLeido);
            }
            reader.Close();
            //dataGridView2.DataSource = Agregar;
            //dataGridView2.Refresh();
            //Libro lib = Agregar.OrderBy(al => al.Anio1).First();
            //textBox5.Text = lib.Anio1.ToString();
        }