Ir ao conteúdo
  • Cadastre-se

C# mixar vários som no console do C Charp


Posts recomendados

olá , quero usar vários sons tipo "beep" , não é musica , sendo cada som com frequência diferente ,  pois se colocar apenas um som o programa roda com boa velocidade , porém com vários "beep" ele se torna lento demais , então imaginei que se mixar todos os sons em apenas um , aí vai continuar com boa velocidade ,  já vi em alguns sites que tem comandos para mixar áudio de música mas é para programas com interface Gráfica e não em console ,  desde já agradeço muito , se alguém puder ajudar  .     para usar nesse programa experimentaL :

using System.Reflection.Metadata;
using static System.Formats.Asn1.AsnWriter;
using System.Windows;
using System.Media;
using System;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using static System.Net.Mime.MediaTypeNames;
namespace paredao_1542
{
    //public class SoundPlayer : System.ComponentModel.Component, System.Runtime.Serialization.ISerializable
    internal class Program
    {
        //public class SoundPlayer : System.ComponentModel.Component, System.Runtime.Serialization.ISerializable
        static void Main(string[] args)
        {
            int     flag  = 0;
            int     c     = 0;
            int a = 0;
            int qtd = 3;
            char[,] mat   = new char[120, 30];
            int [,] bolas = new int [ 10,  5];
            Random rand = new Random();
            
            for ( int f = 0; f < 119; f++)
            {
                mat[f,   0] = (char)35;
                mat[f,  29] = (char)35;
                if (f < 30)
                {
                    mat[  0, f] = (char)35;
                    mat[118, f] = (char)35;
                }
            }
            for (int f = 0; f < 119; f++)
            {
                for (int n = 0; n < 30; n++)
                {
                    if ((f > 50 && f < 65) && (n > 5 && n < 15))
                    {
                        mat[f, n] = (char)35;
                    }
                    Console.SetCursorPosition(f, n);
                    Console.Write(mat[f, n]);
                }
            }
            for (int f = 0; f < qtd; f++)
            {
                a = 0;
                do
                {
                    bolas[f, 0] = rand.Next(5, 110); // ref ao x
                    if ( bolas[f,0] == ' ') a = 1;
                } while (a == 0);
                a = 0;
                do
                {
                    bolas[f, 1] = rand.Next(5, 25);  // ref ao y
                    if (bolas[f, 1] != ' ') a = 1;
                } while ( a == 0);
                bolas[f, 2] = bolas[f, 0];       // ref ao old_x
                bolas[f, 3] = bolas[f, 1];       // ref ao old_y
                bolas[f, 4] = rand.Next(4);      // ref ao dir
            }
            Bar(15,0, " Tecle ESC para Sair ");
            Console.CursorVisible = false;
            Thread.Sleep(1000);   
            do
            {
                if (Console.KeyAvailable)
                {
                    c = Console.ReadKey().KeyChar;
                    Console.SetCursorPosition(10, 10);
                    Console.WriteLine("   VaLor de Tecla PressionadA= {0}", c);
                }
                Thread.Sleep(10);
                if (flag == 0) Som( 1 );
                flag = 0;
                for (int n = 0; n < qtd; n++)
                {
                    Bar(bolas[n, 2], bolas[n, 3], " ");// remove o desenho da bola
                    Bar(bolas[n, 0], bolas[n, 1], "O");// desenhar a bola
                    // if (flag == 0) Som(n);  // com vArios sons fica Lentos
                    flag = 0;
                    bolas[n, 2] = bolas[n, 0];
                    bolas[n, 3] = bolas[n, 1];
                    switch (bolas[n, 4])
                    {
                        case 1:
                            if (mat[bolas[n, 0] + 1, bolas[n, 1]] == '#')
                            {
                                bolas[n, 4] = 4; // pbe
                            }
                            else
                            {
                                if (mat[bolas[n, 0], bolas[n, 1] + 1] == '#')
                                {
                                    bolas[n, 4] = 2; /// pcd
                                }
                                else
                                {
                                    if (mat[bolas[n, 0] + 1, bolas[n, 1] + 1] == '#')
                                    {
                                        bolas[n, 4] = 4;
                                    }
                                    else             /// continue pbd
                                    {
                                        bolas[n, 0]++;
                                        bolas[n, 1]++;
                                        flag = 1;// não colidiu com nada então sem som
                                    }
                                }
                            }
                            break;
                        case 2:
                            if (mat[bolas[n, 0] + 1, bolas[n, 1]] == '#')
                            {
                                bolas[n, 4] = 3; // pce
                            }
                            else
                            {
                                if (mat[bolas[n, 0], bolas[n, 1] - 1] == '#')
                                {
                                    bolas[n, 4] = 1; /// pbd
                                }
                                else
                                {
                                    if (mat[bolas[n, 0] + 1, bolas[n, 1] - 1] == '#')
                                    {
                                        bolas[n, 4] = 3; // pce
                                    }
                                    else             /// continue pcd
                                    {
                                        bolas[n, 0]++;
                                        if (bolas[n, 1] > 1) bolas[n, 1]--;
                                        flag = 1;// não colidiu com nada então sem som
                                    }
                                }
                            }
                            break;
                        case 3:
                            if (mat[bolas[n, 0], bolas[n, 1] - 1] == '#')
                            {
                                bolas[n, 4] = 4; // pbe
                            }
                            else
                            {
                                if (mat[bolas[n, 0] - 1, bolas[n, 1]] == '#')
                                {
                                    bolas[n, 4] = 2; /// pcd
                                }
                                else
                                {
                                    if (mat[bolas[n, 0] - 1, bolas[n, 1] - 1] == '#')
                                    {
                                        bolas[n, 4] = 4; /// pbe
                                    }
                                    else            /// continue pce
                                    {
                                        if (bolas[n, 0] > 1) bolas[n, 0]--;
                                        if (bolas[n, 1] > 1) bolas[n, 1]--;
                                        flag = 1;// não colidiu com nada então sem som
                                    }
                                }
                            }
                            break;
                        default:
                            if (mat[bolas[n, 0], bolas[n, 1] + 1] == '#')
                            {
                                bolas[n, 4] = 3; // pce
                            }
                            else
                            {
                                if (mat[bolas[n, 0] - 1, bolas[n, 1]] == '#')
                                {
                                    bolas[n, 4] = 1; /// pbd
                                }
                                else
                                {
                                    if (mat[bolas[n, 0] - 1, bolas[n, 1] + 1] == '#')
                                    {
                                        bolas[n, 4] = 1;
                                    }
                                    else             /// continue pbe
                                    {
                                        if (bolas[n, 0] > 1) bolas[n, 0]--;
                                        bolas[n, 1]++;
                                        flag = 1;// não colidiu com nada então sem som
                                    }
                                }
                            }
                            break;
                    }
                }
            } while (c != 27) ;
        }
        public static void Som( int n )
        {
            // mixagem de Audio em programa com interface grAficas
            /*SoundPlayer soundPlayer = new SoundPlayer(Properties.Resources.SimpleSound);
            soundPlayer.Play(); // Para começar o som normalmente.
            soundPlayer.PlayLooping(); // Para começar o som e ficar repetindo.
            soundPlayer.PlaySync(); // Para começar o som e só ir para a próxima linha quando parar de tocar.
            SoundPlayer player = new SoundPlayer();
            player.SoundLocation = Environment.CurrentLocation + "beep.mp3";*/
            switch( n ) // 4 sons diferentes
            {
                case 1: Console.Beep();break; // cada beep com frequência diferente
                case 2: Console.Beep();break;
                case 3: Console.Beep();break;
                default:Console.Beep();break; // usando default para o quarto case
            }
        }
        public static void Bar(int x, int y, string ch)// mever a bola
        {
            Console.SetCursorPosition(x, y);           // posiciona o cursor nessa posiCAo
            Console.WriteLine(ch);                     // desenha a bola nessa posiÇAo
        }
    }
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!