Autor Tópico: executar programa externo em C++  (Lida 3120 vezes)

Offline igorqs

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
executar programa externo em C++
« Online: 22 de Junho de 2012, 11:38 »
Olá pessoal, sou novo no fórum mas já tenho uma duvida.  ;D

Estou programando um jogo da velha em C++, e gostaria de colocar uma musica de fundo. Para isso eu pensei em usar um programa externo, e escolhi o "mpg123"  por rodar no proprio terminal. Só que eu não tinha pensado em um problema.  :-[

O programa ficou assim:

system("mpg123 musica.mp3");
// resto do programa

Só que eh obvio que deu errado, na hora de rodar ele executa o mpg123 e só depois começa o jogo da velha.

Como eu faço para rodar meu programa e ao mesmo tempo tocar as musicas? 

Obrigado pela ajuda.

Offline igorqs

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
Re: executar programa externo em C++
« Resposta #1 Online: 23 de Junho de 2012, 00:17 »
Rá, consegui solucionar o problema.

Eu fiz assim:

system("mpg123 musica.mp3 &");
// resto do programa
system("killall mpg123");

Desculpem ter postado a duvida assim precipitadamente, se o mod quiser retirar o tópico pode fazer.

Obg

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: executar programa externo em C++
« Resposta #2 Online: 26 de Junho de 2012, 16:55 »
Uma alternativa um pouco melhor é usar uma library como a SDL_Mixer (ou SDL_Music). Eis um link com um tutorial interessante aqui.

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: executar programa externo em C++
« Resposta #3 Online: 06 de Julho de 2012, 18:06 »
Olá pessoal, sou novo no fórum mas já tenho uma duvida.  ;D

Estou programando um jogo da velha em C++, e gostaria de colocar uma musica de fundo. Para isso eu pensei em usar um programa externo, e escolhi o "mpg123"  por rodar no proprio terminal. Só que eu não tinha pensado em um problema.  :-[

O programa ficou assim:

system("mpg123 musica.mp3");
// resto do programa

Só que eh obvio que deu errado, na hora de rodar ele executa o mpg123 e só depois começa o jogo da velha.

Como eu faço para rodar meu programa e ao mesmo tempo tocar as musicas? 

Obrigado pela ajuda.

Faça assim:

if( fork()==0 ) {
    system( "comando" );
}
// resto do programa
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D