Conectar-se
Quem está conectado
21 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 20 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   :
   :
   :
Ver perfil do usuário

Pausando uma música no Game Maker SEM DLL!!

em Ter 04 Jan 2011, 18:13
Reputação da mensagem: 100% (1 votos)
Nome: Pausando uma música no Game Maker SEM DLL!!
Descrição: Uma forma simples e fácil de pausar as músicas do seu jogo sem usar DLL's.
Nivel de dificuldade: Avançado
Requerimentos: Game Maker 6/7/8 PRO
Desenvolvimento:


Introdução

Muitos de vocês sabem o quão é importante ter músicas em seus jogos/programas. Elas que dão algo de especial nos jogos, te envolvendo na jogabilidade como um todo.
Para aqueles que gostam de fazer programas de áudio, ou sonham fazer seu "Mini Media-Player", podem contar com algumas funções do GM, destinadas à manipular os sons do jogo.

Com elas podemos parar, reproduzir, e até dar um loop. Mas e o pause? Já perceberam que o GM não tem uma função sound_pause ou algo parecido ???
Pois é, este é um grande ponto negativo dele. Qual o problema em dar um pause grande Mark Overmars?

A mágica...

Bom, ele não nos deu o pause, mas nos presenteou com um presente maior ainda, a função:

MCI_command(str)

Com o Media Control Interface, ou apenas MCI, podemos controlar o sistema de multimídia interno do Windows, direto da placa de som de forma geral. Ou seja, podemos manipular músicas com vários comandos, e videos também, entre outros.

Para usá-lo, basta chamar a função acima, em qualquer evento ou parte de código (de preferência que não se repita constantemente) e no argumento str, colocar o comando que você quer que o MCI interprete. Mas calma! Eu vou mostrar os comandos principais.

O MCI interpreta os comandos desta forma:

comando caminho_da_música

Primeiro escrevemos o comando, depois damos um espaço e aí colocamos o caminho da música, por exemplo: "C:\Documents and Settings\All Users\Musica.mp3". No entanto, o MCI não consegue encontrar as músicas que estão dentro do jogo, sendo necessário usar músicas externas para ocorrer a modificação, por isso a inserção obrigatória do caminho da música.

Comandos

Todos os comandos vocês podem ver no próprio site do windows. Mas abaixo, mostro-lhes uma lista com os comandos básicos que podem usar:

play - reproduz uma música
stop - para uma música
pause - pausa uma música
resume - volta à reproduzir a música pausada

Bem, por enquanto é isso, então, só pra esclarecer, vou deixar um exemplo de como pausar uma música qualquer:

MCI_command("pause D:\Sistema\Desktop\Xakira.mp3")

Bom espero que gostem, qualquer dúvida, postem.
avatar
Data de inscrição : 19/07/2008
Número de Mensagens : 758
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -6

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 11:33
Hm... algum tempo atrás estávamos discutindo sobre pausar musicas no Game Maker. Tentamos muita coisa e chegamos a conclusão que só daria pra usar DLL pra fazê-lo. E aí eu entro no forum e leio um tutorial pra descobrir como é simples. Agradeço o tutorial, Fonetico, muito útil.

Spoiler:
Não acho que eu esteja ressucitando topicos mortos. Não faz nem 15 dias que ele está aí.
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 11:44
Puxa, show! Então eu posso executar beleza um OGG Vorbis sem aquelas DLL's sacanas que dão erro? Show 2!

E F.Nizzio:
5-Evite reviver tópicos muito antigos (mais de 1 mês dês de a última mensagem), muitas vezes os autores nem se lembram mais do tópico ou até mesmo já saíram do forum. Nessas seções essa regra não tem efeito: Projetos, exposição e tutoriais. Você poderá ser punido se insistir em reviver tópicos.
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 177

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 11:46
Caraca! Ótimo tutorial cara! Eu também achava que isso só pudesse ocorre usando uma dll. Eu mesmo acho que nunca ia advinhar isso. Tenho que estudar muito mais ainda.

Vlw fonetico, me ajudou muito!

FLWS!
avatar
Data de inscrição : 22/11/2009
Número de Mensagens : 1035
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.recursos-mania.forumeiros.com

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 12:03
Como muitos outros, também achava que só era possível fazer esse grande feito utilizando DLL. Nunca descobriria algo assim.
Ótimo tutorial, fonetico!
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 19:35
Obrigado pelas postagens pessoal! É muito bom saber que ajudei algumas pessoas. xD

Esse tutorial, além de nos ensinar à pausar músicas, também nos faz pensar o quanto falta aprender ainda não é? shushus
avatar
Ranking : Sem avaliações
Data de inscrição : 26/04/2010
Número de Mensagens : 1217
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 34

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://lightsoftworks.blogspot.com/

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 19:50
Atualmente, eu não estou precisando pausar músicas, é um ótimo sistema, não me leve a mal fonetico, mas queria que você respondesse uma coisa:

Se é GM PRO, que diferença faz a pessoa não usar DLL?? scratch tipo, se fosse pausar uma música no GM LITE eu até acharia legal, mas no PRO não vejo diferênça. queria que você explicasse isso...
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 19:57
Sinceramente, prefiro este método, nunca usei DLL, nunca aprendi sequer e isto faz parte de GML, não é preciso recursos externos...
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 20:06
Lucas Lunar escreveu:Se é GM PRO, que diferença faz a pessoa não usar DLL?? scratch tipo, se fosse pausar uma música no GM LITE eu até acharia legal, mas no PRO não vejo diferênça. queria que você explicasse isso...

Veja por esse lado meu amigo:
Além de ser mais prático, não é necessário usar recursos externos. Que por razão, se você for vender seu jogo, o autor que criou a dll pode pedir os direitos autorais. Também na hora de postar o download porque pode ser apenas um arquivo único, enfim...

Além de tudo isso, é sempre bom aprender uma função a mais não é mesmo? =)
Vale lembrar também que essa função tem outras funções, que nem como o pedro henrique disse, ele pode gravar som do microfone e outras coisas.
avatar
Ranking : Sem avaliações
Data de inscrição : 26/04/2010
Número de Mensagens : 1217
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 34

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://lightsoftworks.blogspot.com/

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 22 Jan 2011, 20:09
fonetico escreveu:
Lucas Lunar escreveu:Se é GM PRO, que diferença faz a pessoa não usar DLL?? scratch tipo, se fosse pausar uma música no GM LITE eu até acharia legal, mas no PRO não vejo diferênça. queria que você explicasse isso...

Veja por esse lado meu amigo:
Além de ser mais prático, não é necessário usar recursos externos. Que por razão, se você for vender seu jogo, o autor que criou a dll pode pedir os direitos autorais. Também na hora de postar o download porque pode ser apenas um arquivo único, enfim...

Além de tudo isso, é sempre bom aprender uma função a mais não é mesmo? =)
Vale lembrar também que essa função tem outras funções, que nem como o pedro henrique disse, ele pode gravar som do microfone e outras coisas.

Ah, é um ponto. =) beleza. Melhor sem recursos extenos.

LOL, esse negócio de gravar sons do microfone é doido XD
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 11/07/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Dom 23 Jan 2011, 17:38
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 454
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 37

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Ter 29 Mar 2011, 21:55
Mas, como faz para o GM saber que a música parou de ser reproduzida?
é que eu vou fazer um media player e quero que quando a música termine, ele reproduza outra.
Tem como me ajudar?
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Ter 29 Mar 2011, 21:57
PHProductions escreveu:Mas, como faz para o GM saber que a música parou de ser reproduzida?
é que eu vou fazer um media player e quero que quando a música termine, ele reproduza outra.
Tem como me ajudar?

Não conheço uma função do MCI que faz isso. No entanto você pode usar uma variável para verificar isto.
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 454
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 37

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Ter 29 Mar 2011, 22:11
como? o MCI retorna algum valor como 0, 1 ou alguma string?
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Ter 29 Mar 2011, 22:23
Não, só é fazer o seguinte quando for tocar:
Código:
mci_command("play arquivo_tal");
tocando = true;
Entendeu? E quando for parar de tocar:
Código:
mci_command("stop arquivo_tal");
tocando = false;
O tocando = false acima também pode servir para o pause. Simplesmente defina a variável quando realizar operações com o MCI. E não se esqueça que o GM é case-sensitive, MCI_command é diferente de mci_command. (Ainda me pergunto se a função correta seria mci_sendstring, não sei.)
avatar
Data de inscrição : 23/09/2008
Número de Mensagens : 169
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Ter 29 Mar 2011, 22:29
Muito legal mesmo, uma vez tinha visto essa função mas nunca tinha procurado pra que ela servia, muito bom mesmo.

Bom garoto!
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 28/11/2010
Número de Mensagens : 454
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 37

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Ter 29 Mar 2011, 22:49
É quase isso, mas é assim que eu queria saber:
uma musica está tocando, até aí td bem. quando ela chega no fim, aí é o problema!
Como o game maker saberá quando ela parou? aí é a minha dúvida!
Como eu faço uma variavel indicar quando a musica esta tocando e quando ela parou?
tipo:
música tocando>variável=true;
música parou>variável=false;

Por favor, se algúem puder me ajudar, agradecerei muito!
avatar
Ranking : Nota E
Notas recebidas : E-D-E-E
Data de inscrição : 18/12/2010
Número de Mensagens : 258
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Sab 18 Jun 2011, 12:26
poxa cara, vc me ajudou pra caramba! Eu revirei a internet atrais disso, e finalmente achei!!!!!!!
8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)8)Cool

Preciso falar alguma coisa, esse tópico é de março, fique mais atento!
-25% Removidos (Só tirei pq vc tem uma quantidade enorme de floods)
Punido - Dancity
avatar
Data de inscrição : 03/03/2013
Número de Mensagens : 1
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Dom 02 Jun 2013, 13:19
Fiquei com uma dúvida boba. Quando eu executar o jogo fora do meu PC não vai rodar a música ? ou o GM salva a música tbm ?
avatar
Ranking : Nota C
Notas recebidas : D-D-D-C-C-B
Data de inscrição : 15/03/2012
Número de Mensagens : 564
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuário

Re: Pausando uma música no Game Maker SEM DLL!!

em Dom 02 Jun 2013, 13:57
cuidado cara reviver topicos é contra as regras, mas a pergunta é facil de responder Happy, vc vai terque levar amusica junto com seu jogo, por exemplo na hora de hospedar seu jogo vc cria uma pasta para ele e nessa pasta vc poem a musica, ae quando for usar este codigo vc só acha o caminho até essa pasta, então nao importa qual pc for ele vai achar a musica que esta junto ao jogo Happy
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum