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();
            }
        }
Beispiel #2
0
        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();
                }
            }
        }
Beispiel #3
0
        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();
                }
            }
        }
Beispiel #4
0
        // 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();
                }
            }
        }