Ir ao conteúdo

Posts recomendados

Postado

Quero saber como faço para usa a função PlaySound no VScode para tocar sons, até agora não achei nem um vídeo explicando para  fazer isso. Poderiam me explicar passo a passo e caso tiverem algum pdf sobre o assunto já  ajudaria muito. Sou iniciante e estou aprendendo mexer no VScode. Caso precisar do código completo só pedir.

//Arquivo main()

#include <iostream>
#include <windows.h>
#include <string>
#include <cstdlib>

#include "StructTemporizador.cpp"


void Temporizador();
void TemporizadorCrescente();
void TemporizadorDecrescente();
void EntradaUsuario(time_t * pInput);
void ContagemCrescente(TempoCrescente * tc_Crescente);
void ContagemDecrescente(TempoDecrescente * tc_Decrescente);
void ContagemDecrescente(TempoDecrescente * tc_Decrescente);
bool ExibirTimeCrescenteb(TempoCrescente * tc_Crescente);
void ExibirTimeDecrescenteb(TempoDecrescente * tc_Crescente);
int MusicaAlarme();
void PlayMusica(int musica);

int MusicaAlarme()
{
    int musica{0};
    std::cout << "\nMusicas" << std::endl;
    std::cout << "Escolha uma dessas musicas para tocar no alarme" << std::endl;
    std::cout << "beep beep[1]";
    std::cout << "\nsirene[2]";
    std::cout << "\nPássaro gritando[3]";
    std::cout << "\nDigite ";
    std::cin >> musica;
    switch(abs(musica))
    {
        case 1: return 1; break;
        case 2: return 2; break;
        case 3: return 3; break;
    }
    return 0;
}


void PlayMusica(int musica)
{
    switch(musica)
    {
        case 1: 
            std::cout << "Musica 1" << std::endl;
        break;
        case 2: 
            std::cout << "Musica 2" << std::endl;
        break;
        case 3: 
            std::cout << "Musica " << std::endl;
        break;
    }   
}

bool ExibirTimeCrescenteb(TempoCrescente * tc_Crescente)
{
    time_t t_hour = tc_Crescente->tm_Crescente.tm_hour;
    time_t t_min = tc_Crescente->tm_Crescente.tm_min;
    time_t t_sec = tc_Crescente->tm_Crescente.tm_sec;

    if((t_hour == tc_Crescente->t_hour) && (t_min == tc_Crescente->t_min) && (t_sec == tc_Crescente->t_sec)){
        std::cout << t_hour << "|" << t_min << "|" << t_sec;
        return false;
    }else{
        std::cout << t_hour << "|" << t_min << "|" << t_sec << std::endl;
        return true;
    }
}

void ExibirTimeDecrescenteb(TempoDecrescente *tc_Decrescente)
{
    time_t t_hour = tc_Decrescente->tm_Decrescente.tm_hour;
    time_t t_min = tc_Decrescente->tm_Decrescente.tm_min;
    time_t t_sec = tc_Decrescente->tm_Decrescente.tm_sec;
    std::cout << t_hour << "|" << t_min << "|" << t_sec << std::endl;
}


void EntradaUsuario(time_t *pInput)
{
    int hora{0}, minutos{0}, segundos{0};

    std::cout << "\nHora: ";
    std::cin >> hora;
    std::cout << "\nMinuto: ";
    std::cin >> minutos;
    std::cout << "\nSegundos: ";
    std::cin >> segundos;

    pInput[0] = (time_t)abs(hora);
    pInput[1] = (time_t)abs(minutos);
    pInput[2] = (time_t)abs(segundos);
    
}

void ContagemCrescente(TempoCrescente * tc_Crescente)
{
    bool b_continua = true;
    while(b_continua)
    {
        system("CLS");
        b_continua = ExibirTimeCrescenteb(tc_Crescente);
        Sleep(1000);
        if(tc_Crescente->tm_Crescente.tm_sec < 60){
            tc_Crescente->tm_Crescente.tm_sec++;
        }else{
            if(tc_Crescente->tm_Crescente.tm_min < 60){
                tc_Crescente->tm_Crescente.tm_min++;
            }else{
                if(tc_Crescente->tm_Crescente.tm_hour < 24){
                    tc_Crescente->tm_Crescente.tm_hour++;
                    tc_Crescente->tm_Crescente.tm_min = 0;
                }
            }
            tc_Crescente->tm_Crescente.tm_sec = 0;
        }
    }
}

void ContagemDecrescente(TempoDecrescente *td_Decrescente)
{
    bool b_continua = true;
    while(b_continua)
    {
        system("CLS");
        ExibirTimeDecrescenteb(td_Decrescente);
        Sleep(1000);
        if(td_Decrescente->tm_Decrescente.tm_sec > 0){
            td_Decrescente->tm_Decrescente.tm_sec--;
        }else{
            td_Decrescente->tm_Decrescente.tm_sec = 60;
            if(td_Decrescente->tm_Decrescente.tm_min >0){
                td_Decrescente->tm_Decrescente.tm_min--;
            }else{
                td_Decrescente->tm_Decrescente.tm_min = 60;
                if(td_Decrescente->tm_Decrescente.tm_hour > 0){
                    td_Decrescente->tm_Decrescente.tm_hour--;
                }else{
                    b_continua = false;
                    break;
                }
            }
        }
    }
}


void TemporizadorCrescente()
{
    TempoCrescente tc_Crescente;
    time_t * pInput{nullptr};
    pInput = static_cast<time_t*>(calloc(3, sizeof(time_t)));
    EntradaUsuario(pInput);
    int musica = MusicaAlarme();//para o susário escolhar uma música que vai tocar ao final do temporizador 

    tc_Crescente.Set_HoraMinSec(pInput[0], pInput[1], pInput[2]);
    ContagemCrescente(&tc_Crescente);
    PlayMusica(musica);
    free(pInput);
}


void TemporizadorDecrescente()
{
    TempoDecrescente td_Decrescente;
    time_t * pInput{nullptr};
    pInput = static_cast<time_t*>(calloc(3, sizeof(time_t)));
    
    
    EntradaUsuario(pInput);
    td_Decrescente.Set_HoraMinSec(pInput[0], pInput[1], pInput[2]);
    ContagemDecrescente(&td_Decrescente);

}

void Texto()
{
    std::string texto {"\tTEMPORIZADOR"}; 
    std::cout << std::string(30,'*').c_str() << std::endl;
    std::cout << texto.c_str() << std::endl;    
    std::cout << std::string(30,'*').c_str() << std::endl;
}


void Temporizador()
{
    int escolha{0};
    Texto();
    std::cout << "\tescolha " << std::endl;
    std::cout << "Temporizador Crescente[1]";
    std::cout << "\nTemporizador Decrescente[2]";
    std::cout << "\nDigite: ";
    std::cin >> escolha;

    switch(escolha)
    {
        case 1: TemporizadorCrescente(); break;
        case 2: TemporizadorDecrescente(); break;
    } 

};


int main()
{
    Temporizador();

    std::cin.ignore();
    std::cin.get();
    return 0;
}

 

  • Amei 1
Postado

@LeonCode       o VS Code é difícil para que é iniciante ,  seria melhor usar o codeblocks e nele você pode usar o PlaySound para executar música usando esse código aqui:

#include<iostream>    ///  Preisa desses linkr's no codeblocks na config do compilador
#include<windows.h>   /// -lgdi32
                      /// -lmingw32
                      /// -lopengl32
                      /// -lopengl32
                      /// -lwinmm
                      ///  coloque o arquivo de som na mesma pasta desse código
                      ///  PlaySound faz parte da API do Windows 
int main()
{
    std::string a1 = "music_3.wav";  /// mUsica no formato wav
    PlaySound((a1.c_str()),NULL,SND_SYNC);
  
    printf("\n\n\n");
    return 0;
}

se puder poste  o restante do código , pois nesse não tem nada de som , e falta funções .

  • Curtir 1
Postado

@devair1010     Arquivo.h

#include <iostream>
#include <time.h>

typedef unsigned int unsit;

struct TempoCrescente
{
    tm tm_Crescente{0};
    time_t t_hour{0};
    time_t t_min{0};
    time_t t_sec{0};
    //recebe horas, min e sec
    void Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec);
};
 
struct TempoDecrescente
{
    tm tm_Decrescente{0};
    //recebe horas, min e sec
    void Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec);  
}; 

Arquivo.cpp

#include <iostream>
#include <time.h>
#include "StructTemporizador.h"


void TempoCrescente::Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec)
{
    this->t_hour = t_hour;
    this->t_min = t_min;
    this->t_sec = t_sec;
}

void TempoDecrescente::Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec)
{
    tm_Decrescente.tm_hour = t_hour;
    tm_Decrescente.tm_min = t_min;
    tm_Decrescente.tm_sec = t_sec;
	//Verificar se os campos estão armazenando os valores passados 
    std::cout << tm_Decrescente.tm_hour << "|" << tm_Decrescente.tm_min << "|" << tm_Decrescente.tm_sec;
}


Agora estou com problema no codeBlockskkkkkkkkkk, faz um tempo que não mexo. No VScode roda normal, só falta a parte do playsound, já no codeBlocks está dando erro. Volver se consigo resolver.
Acabei de corrigir, o problema era porque eu tinha colocado o arquivo.cpp direto no arquivo_main.cpp. Agora vou colocar escolher as músicas para colocar no código.

  • Obrigado 1
Postado

@LeonCode    para executar a musica no VS Code precisa configurar a extensão "C Compile Run"  e adicionar "-lwinmm"  no  "c linker_flags"  e também a lib "mmsyscom.h" ,

vscodesettings3.thumb.jpg.18642f120759f4d730eab2775e042806.jpg

porém essa lib não consegui localizar ainda . 

para criar gráficos incluir "-lgdi32" no "c linker_flags" , e seria assim :

#include <Windows.h>
#include <math.h>
///#include <windows.graphics.h>
#include <wingdi.h>
int main()
{
    HWND hw = GetConsoleWindow(); 
    HDC HD;
    HD = GetDC( hw );
    COLORREF color = RGB(255, 255, 0);
    for(int f= 0; f<360; f++)
    {
        float rd = f*3.141592/180;
        int y = sin( rd ) *150 + 150;
        SetPixel( HD, f, y, color);
    }
    return 0;
}

e para gráficos precisa ativar o console externo :

 

vs code settings4.jpg

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!