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; }
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(); }
//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"); }
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(); }
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(); }
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(); } }
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(); }