private void btnReproducir_Click(object sender, RoutedEventArgs e) { if (output != null && output.PlaybackState == PlaybackState.Paused) { output.Play(); btnReproducir.IsEnabled = false; btnPausa.IsEnabled = true; btnDetener.IsEnabled = true; } else { reader = new AudioFileReader(txtRutaArchivo.Text); delay = new Delay(reader); delay.Activo = (bool)cbDelayActivo.IsChecked; delay.OffsetMilisegundos = (int)sldDelayOffset.Value; delay.AmplitudInvertida = (bool)cbAmplitudInvertida.IsChecked; fades = new FadeInOutSampleProvider( delay, true); double milisegundosFadeIn = Double.Parse(txtDuracionFadeIn.Text) * 1000.0; fades.BeginFadeIn(milisegundosFadeIn); fadingOut = false; output = new WaveOutEvent(); output.DeviceNumber = cbSalida.SelectedIndex; output.PlaybackStopped += Output_PlaybackStopped; volume = new EfectoVolumen(fades); volume.Volume = (float)sldVolumen.Value; output.Init(volume); output.Play(); btnDetener.IsEnabled = true; btnPausa.IsEnabled = true; btnReproducir.IsEnabled = false; lblTiempoTotal.Text = reader.TotalTime.ToString().Substring(0, 8); lblTiempoActual.Text = reader.CurrentTime.ToString().Substring(0, 8); sldReproduccion.Maximum = reader.TotalTime.TotalSeconds; sldReproduccion.Value = reader.CurrentTime.TotalSeconds; timer.Start(); } }
private void btnReproducir_Click(object sender, RoutedEventArgs e) { if (output != null && output.PlaybackState == PlaybackState.Paused) { // retomo reproduccion output.Play(); btnReproducir.IsEnabled = false; btnPausa.IsEnabled = true; btnDetener.IsEnabled = true; } else { if (txtRutaArchivo.Text != null && txtRutaArchivo.Text != string.Empty) { reader = new AudioFileReader(txtRutaArchivo.Text); /*volume = * new VolumeSampleProvider(reader); * volume.Volume = * (float)(sldVolumen.Value);*/ efectoFadeIn = new EfectoFadeIn(reader, 5.0f); efectoVolumen = new EfectoVolumen(reader); efectoVolumen.Volumen = (float)(sldVolumen.Value); output = new WaveOut(); output.DeviceNumber = cbDispositivoSalida.SelectedIndex; output.PlaybackStopped += Output_PlaybackStopped; output.Init(efectoVolumen); output.Play(); //Cambiar el volumen del output /*output.Volume = * (float)(sldVolumen.Value);*/ btnReproducir.IsEnabled = false; btnPausa.IsEnabled = true; btnDetener.IsEnabled = true; lblTiempoTotal.Text = reader.TotalTime.ToString(). Substring(0, 8); lblTiempoActual.Text = reader.CurrentTime.ToString(). Substring(0, 8); sldTiempo.Maximum = reader.TotalTime.TotalSeconds; sldTiempo.Value = reader.CurrentTime.TotalSeconds; timer.Start(); } } }
private void BtnReproducir_Click(object sender, RoutedEventArgs e) { if (output != null && output.PlaybackState == PlaybackState.Paused) { //Retomo reproduccion output.Play(); btnReproducir.IsEnabled = false; btnPausa.IsEnabled = true; btnDetener.IsEnabled = true; } else { if (txtRutaArchivo.Text != null && txtRutaArchivo.Text != string.Empty) { reader = new AudioFileReader(txtRutaArchivo.Text); /*volume = new VolumeSampleProvider(reader); * volume.Volume = (float)(sldVolumen.Value);*/ efectoDelay = new EfectoDelay(reader, (int)(sldOffsetDelay.Value), (float)(sldGanancia.Value)); float duracionFadeOut = float.Parse(txtDuracionFadeOut.Text); float inicio = float.Parse(txtInicio.Text); fadeOut = new FadeOut(reader, duracionFadeOut, inicio); float duracionFadeIn = float.Parse(txtDuracion.Text); fadeIn = new FadeIn(efectoDelay, duracionFadeIn); efectoVolumen = new EfectoVolumen(fadeOut); efectoVolumen.Volumen = (float)(sldVolumen.Value); output = new WaveOut(); output.DeviceNumber = cbDispositivoSalida.SelectedIndex; output.PlaybackStopped += Output_PlaybackStopped; output.Init(efectoVolumen); output.Play(); //Cambiar el volumen del output // output.Volume = (float)(sldVolumen.Value); btnReproducir.IsEnabled = false; btnPausa.IsEnabled = true; btnDetener.IsEnabled = true; lblTiempoTotal.Text = reader.TotalTime.ToString().Substring(0, 8); lblTiempoActual.Text = reader.CurrentTime.ToString().Substring(0, 8); //para que recorra el slider sldTiempo.Maximum = reader.TotalTime.TotalSeconds; sldTiempo.Value = reader.CurrentTime.TotalSeconds; timer.Start(); } } }
// Boton Reproducir private void btn_Reproducir_Click(object sender, RoutedEventArgs e) { if (output != null && output.PlaybackState == PlaybackState.Paused) { sld_Reproduccion.IsEnabled = true; output.Play(); btn_Reproducir.IsEnabled = false; btn_Elegir_Archivo.IsEnabled = false; btn_Pausa.IsEnabled = true; btn_Detener.IsEnabled = true; } else { if (txt_Direccion_Archivo.Text != "") { reader = new AudioFileReader(txt_Direccion_Archivo.Text); delay = new Delay(reader); delay.Ganancia = (float)sld_Gain_Cantidad.Value; delay.OffsetMilisegundos = (int)sld_Delay_Offset.Value; if (sld_Delay_Offset.IsEnabled == true) { delay.Activo = true; } else { delay.Activo = false; } fades = new FadeInOutSampleProvider(delay, true); double milisegundosFadeIn = Double.Parse(txt_FadeIn.Text) * 1000.0; fades.BeginFadeIn(milisegundosFadeIn); fadingOut = false; output = new WaveOutEvent(); // Mientras más alta sea la latencia, más info se podrá almacenar en el búffer, a costa de que éste tardará un poco más (la 1ra vez) en llenarse output.DesiredLatency = 150; // 150 ms output.DeviceNumber = cb_Salida.SelectedIndex; // Los rayitos(eventos) responden a funciones mediante el operador += output.PlaybackStopped += Output_PlaybackStopped; volume = new EfectoVolumen(fades); volume.Volume = (float)sld_Volumen.Value; output.Init(volume); output.Play(); sld_Reproduccion.IsEnabled = true; btn_Pausa.IsEnabled = true; btn_Detener.IsEnabled = true; btn_Reproducir.IsEnabled = false; btn_Elegir_Archivo.IsEnabled = false; cb_Salida.IsHitTestVisible = false; cb_Salida.IsEditable = false; cb_Salida.Focusable = false; lbl_Tiempo_Total.Text = reader.TotalTime.ToString().Substring(0, 8); lbl_Tiempo_Actual.Text = reader.CurrentTime.ToString().Substring(0, 8); sld_Reproduccion.Maximum = reader.TotalTime.TotalSeconds; sld_Reproduccion.Minimum = 0; timer.Start(); } } }