es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Se pueden reproducir varias pistas de audio al mismo tiempo en la consola de C#?

Estoy intentando hacer un juego de rol utilizando la consola de Visual Studio y no puedo hacer que los sonidos se superpongan. Quiero que mi música de fondo se reproduzca mientras se reproduce un sonido de ataque o de selección sobre ella.

Un ejemplo:

Console.ReadLine();
soundplayer s = new soundplayer (‘ruta aquí’);
soundplayer b = new soundplayer (‘ruta aquí’);
s.play();
string f = console.readline();
if(f == “tiene”)
{
b.play
}

Pero quiero que s siga reproduciéndose mientras b se reproduce sobre ella.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr el efecto de reproducir música de fondo mientras se reproducen efectos de sonido o se seleccionan sonidos en su juego de RPG, puede usar el siguiente enfoque:

    1. Cree un hilo separado para reproducir la música de fondo continuamente mientras el juego se está ejecutando. Puede usar la clase System.Threading.Thread para crear un nuevo hilo que ejecute el bucle de música de fondo. Aquí hay un ejemplo:
      using System.Threading;
      using System.Media;
      
      // ...
      
      private void PlayBackgroundMusic()
      {
          while (true)
          {
              SoundPlayer player = new SoundPlayer("bgm.wav");
              player.Play();
              // Espere a que el sonido termine antes de reproducirlo nuevamente
              while (player.Playing)
              {
                  Thread.Sleep(100);
              }
          }
      }
      

      Tenga en cuenta que este código asume que tiene un archivo de sonido llamado “bgm.wav” en la carpeta de su proyecto.

    2. Use la clase SoundPlayer para reproducir efectos de sonido o sonidos de selección. Puede crear una nueva instancia de SoundPlayer para cada efecto de sonido que desee reproducir y llamar al método Play para comenzar a reproducir el sonido. Aquí hay un ejemplo:

      SoundPlayer attackSound = new SoundPlayer("attack.wav");
      SoundPlayer selectSound = new SoundPlayer("select.wav");
      
      // Reproducir el sonido de ataque
      attackSound.Play();
      
      // Reproducir el sonido de selección
      selectSound.Play();
      

    3. Para que los efectos de sonido se reproduzcan sobre la música de fondo, simplemente llame a los métodos Play de los SoundPlayers de efectos de sonido sin detener el SoundPlayer de música de fondo. Los sonidos se “mezclarán” juntos, creando el efecto de tener ambos sonidos reproduciéndose al mismo tiempo.
      // Reproducir el sonido de ataque mientras la música de fondo continúa reproduciéndose
      attackSound.Play();
      
      // Reproducir el sonido de selección mientras la música de fondo continúa reproduciéndose
      selectSound.Play();
      

    Con estos tres pasos, debería poder crear el efecto de reproducir música de fondo mientras tiene efectos de sonido y sonidos de selección que se reproducen sobre ella en su juego de RPG.

Comments are closed.