Ir ao conteúdo
  • Cadastre-se

Sons em c++


MtscamaroG4M3R

Posts recomendados

OI GENTE! Bom, eu tô há um tempo desenvolvendo um jogo text-based com meus amigos, e uma coisa que eles sempre falam que seria incrível é colocar uma música de fundo no jogo, aquelas sem copyright mesmo, do Kevin MacLeod. Aí eu comecei a pesquisar, bastante, e achei uma função do windows.h, PlaySound(), que dá pra tocar arquivos .WAV, mas aí que tá o problema, eu não sei selecionar o arquivo nem nada! Então, se puderem, deem um exemplo de como colocar, eu já tentei o seguinte: 

 

PlaySound("C:\Users\Matheus\Downloads\A Sky Full Of Stars.wav");

 

Mas deu erro na hora de compilar. Então é isso aí mesmo, e se der, preciso de mais duas coisas:

 

1 - Compilar o arquivo de som junto com o programa, pra poder executar em outros PCs, que não tenham o arquivo.

2 - Reproduzir a música sem parar o programa, pra poder continuar o jogo com a música de fundo. Também executar ela num loop, então quando ela acabar, começa de novo.

 

Tô fazendo ele no Code::Blocks, tá aí o source code, se for necessário:

#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <string>
#include <locale.h>
#include <time.h>
#include <dos.h>
#include <dir.h>
#include <stdio.h>

using namespace std;

void SetColor(int ForgC)
 {
 WORD wColor;
  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
  CONSOLE_SCREEN_BUFFER_INFO csbi;
 if(GetConsoleScreenBufferInfo(hStdOut, &csbi)){
      wColor = (csbi.wAttributes & 0xF0) + (ForgC & 0x0F);
      SetConsoleTextAttribute(hStdOut, wColor);
 }
 return;
 }



 void GameOver()
 {
     SetColor(12);
     cout << endl << "Você tomou a decisão errada! Fim de jogo!" << endl << endl;
     system("pause");
 }

 void Parte1()
 {
     cout << "WORK IN PROGRESS";
     cout << endl << "WORK IN PROGRESS";
     cout << endl << "WORK IN PROGRESS";
 }

int main()
{
    setlocale(LC_ALL,"portuguese");
    int inicio, comecar, timing, numero, continuar1, decisao1, decisao01, decisao02;
    string nome = "";
    srand(time(0));
    numero = rand() % 99999999 + 95400000;
    SetColor(12);
    cout << endl << "                               ";
    cout << "T"; Sleep(100); cout << "O"; Sleep(100); cout << "D";  Sleep(100); cout << "A"; Sleep(100);
    cout << "Y"; Sleep(100); cout << "'"; Sleep(100); cout << "S";  Sleep(100); cout << " "; Sleep(100);
    cout << "A"; Sleep(100); cout << "P"; Sleep(100); cout << "O";  Sleep(100); cout << "C"; Sleep(100);
    cout << "A"; Sleep(100); cout << "L"; Sleep(100); cout << "Y";  Sleep(100); cout << "P"; Sleep(100);
    cout << "S"; Sleep(100); cout << "E"; Sleep(100); cout << "                               ";; Sleep(300);
    // Aqui tá o erro PlaySound("C:\Users\rodrigo\Downloads\A Sky Full Of Stars.wav");
    SetColor(15);
    cout << endl << "Criado por MTS Games." << endl << endl << "Digite '1' para aprender a jogar." << endl << endl;
    cin >> inicio;


    if (inicio == 1) {
            system("cls");
        cout << "Nesse game você  recebe uma  mensagem  de algum desconhecido, e deve  ajudá-lo aentender  o  que  aconteceu  em  uma  cidade  enorme, que por  algum motivo, foi";
        cout << "destruída." << endl << endl << "Você terá várias opções, e  deverá  escolher entre uma  delas digitando o númerocorrespondente. As escolhas são sempre suas! Digite '1' para começar." << endl << endl;
        cin >> comecar;


        if (comecar == 1) {
            system("cls");
        cout << "Iniciando jogo...";
        Sleep(80);
        system("cls");
        SetColor(2);

        cout << endl << "                       Mensagem recebida de " << numero << endl << endl;
        Sleep(400);
        cout << numero << ":";
        SetColor(15);
        Sleep(800);

        cout <<  endl << endl << "Olha, eu não sei quem é você, mas preciso MUITO de sua ajuda!" << endl << endl;

        SetColor(2);
        Sleep(100);

        cout << "Você:" << endl << endl;

        SetColor(15);

        cout << "(1) Não estou entendendo  nada mas... Tudo bem. O que aconteceu  para você ficartão desesperado?" << endl << endl;

        cin >> continuar1;
        system ("cls");
        SetColor(2);
        Sleep(400);
        cout << endl << numero << ":";
        SetColor(15);
        cout << endl << endl << "Não tenho ideia... Tudo está destruído, estou sozinho aqui... O pior é que é umacidade enorme..." << endl << endl;

        SetColor(2);

        cout << "Você:" << endl;

        SetColor(15);

        cout << "(1) Já olhou nos bolsos pra saber se você tem algum documento?" << endl;
        cout << "(2) Tem carros aí? Talvez tenha o nome da cidade na placa..." << endl << endl;
        cin >> decisao1;


        if (decisao1 == 1) {
           Sleep(500);
           SetColor(2);
           cout << endl << endl << numero << ":";
           SetColor(15);
           cout << endl << endl << "Vou dar uma olhada...";
           Sleep(3000);
           cout << endl << endl << "Nada... O pior é que  nem sei  meu nome, mas... O que  acha de você escolher um?Mas escolhe um legal, tá?" << endl << endl;
           cout << "Escolha um nome: ";
           cin >> nome;
           SetColor(2);
           cout << endl << endl << nome << ":";
           SetColor(15);
           cout << endl << endl << nome << "? Até que gostei..." << endl << endl;
           SetColor(2);
           cout << nome << ":" << endl << endl;
           SetColor(15);
           cout << "Ok. Continuando, o que acha que devo fazer?" << endl << endl;
           SetColor(2);;
           cout << "Você: " << endl << endl;
           SetColor(15);
           cout << "(1) Tem carros aí? Talvez tenha o nome da cidade na placa..." << endl << endl;
           cin >> decisao01;
           if (decisao01 == 1) {
                SetColor(2);
            cout << nome << ":" << endl << endl;
            SetColor(15);
            cout << "Boa ideia! Vou olhar." << endl << endl;
            SetColor(2);
            cout << nome << ":" << endl << endl;
            SetColor(15);
            cout << "Aqui tem um carro de polícia, está escrito \"Los Angeles Police Department\"..." << endl << endl;
            Parte1();

           }
        }


        else if (decisao1 == 2) {
                SetColor(2);
            cout << numero << ":" << endl << endl;
            SetColor(15);
            cout << "Boa ideia! Vou olhar." << endl << endl;
            SetColor(2);
            cout << numero << ":" << endl << endl;
            SetColor(15);
            cout << "Aqui tem um carro de polícia, está escrito \"Los Angeles Police Department\"..." << endl << endl;
            SetColor(2);
            cout << numero << ":" << endl << endl;
            SetColor(15);
            cout << "Talvez seja bom saber onde estou... Mas nem sei quem sou!" << endl << endl;
        SetColor(2);

        cout << "Você:" << endl;

        SetColor(15);

           cout << endl << "(1) Já olhou nos bolsos pra saber se você tem algum documento?" << endl;
           cin >> decisao02;
           if (decisao02 == 1) {
           SetColor(2);
           cout << endl << endl << numero << ":";
           SetColor(15);
           cout << endl << endl << "Vou dar uma olhada...";
           Sleep(3000);
           cout << endl << endl << "Nada... O pior é que  nem sei  meu nome, mas... O que  acha de você escolher um?Mas escolhe um legal, tá?" << endl << endl;
           cout << "Escolha um nome: ";
           cin >> nome;
           SetColor(2);
           cout << endl << endl << nome << ":";
           SetColor(15);
           cout << endl << endl << nome << "? Até que gostei..." << endl << endl;
           SetColor(2);
           Parte1();}
           else { GameOver();
           }
        }

        else {
              GameOver();
              }

        system("pause");
        }
        else {GameOver();
    }
    }
    else {GameOver();
    }


    return 0;
}

Desde já, valeu!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...