Conectar-se
Quem está conectado
30 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 26 Visitantes

gart30, Tedi Ripper, uilson, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Ajuda com AUDIO...

em Ter 09 Dez 2008, 23:08
Pessoal, estou apanhando um pouco com o audio no GM7, se alguém puder ajudar...

Primeiro, sobre o tempo do audio, como faço pra setar a velocidade que o audio toca, pois o arquivo MID que tenho toca rapidinho, mas quando coloco ele no GM o audio fica mais lento, existe alguma forma de controlar a velocidade que o audio toca??

Segundo, como eu faço para detectar quando determinado som termina, quero que uma determinada ação aconteça apenas quando o som que está tocando pare, tem algum comando que detecte quando um determinado som para e então execute a ação que eu queira???

seria isso...
abraços...
avatar
Ranking : Nota C
Notas recebidas : C - C
Data de inscrição : 14/11/2008
Número de Mensagens : 1166
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://www.programaCODM.webs.com/

Re: Ajuda com AUDIO...

em Ter 09 Dez 2008, 23:20
sound_exists(NOME DO SOM)
//deixe aqui em branco...
else
//coloque aqui o efeito depois que o som parar ou não exitir na room...

acho que isto vai ajudar Happy
qualquer coisa pergunte mais Happy
FLW
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Ajuda com AUDIO...

em Ter 09 Dez 2008, 23:33
keke, axo que nao é assim
o comando sound_exists checa se o som existe nao se ele esta tocando
o certo é:

if !sound_isplaying(som) //repare no !, ele equivale a 'not' ou seja NAO
{
//oque faser se nao tiver tocando OBS: VAI ACONTECER O TEMPO TODO Q O SOM NAO TIVER TOCANDO!
}
avatar
Ranking : Nota C
Notas recebidas : C - C
Data de inscrição : 14/11/2008
Número de Mensagens : 1166
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://www.programaCODM.webs.com/

Re: Ajuda com AUDIO...

em Ter 09 Dez 2008, 23:35
humm... não sabia disto também não... Valew janx Happy
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1053
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 00:10
Em relação à velocidade do áudio,
creio que isso só seja possível com uso de dll's.

Valeu!Happy
Convidad
Convidado

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 08:55
Se o problema de velocidade é em um MIDI vc poderia simplesmente abrir o arquivo em um editor e elevar a velocidade... depois vc salva por cima ou em um novo arquivo e checa no jogo se ficou como vc queria =]

flw
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 25/04/2008
Número de Mensagens : 318
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://brasilgame.forumbrasil.net

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 10:06
som= sound_play(nomedosom)

if !sound_isplaying(som){
///sua ação
}

Há Dll próprias para isso, como supersound,fmod
etc......... Very Happy
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 10:55
Gente, valeu pela força, vou tentar usar essas dicas de vcs e ver se consigo fazer o que preciso, na verdade é quando o personagem encosta no último item da fase ele toca a música e quando a música terminar vai pra próxima fase, é isso que estou querendo.. mas vou tentar com a opçào !sound pra ver.

quanto a velocidade do som, tá esquisito, prq no teste de som do GM ali quando vc escolhe o som que quer ele toca normal, na velocidade certa, porém quando está no jogo o som fica mais lento, demorando o dobro do tempo mais ou menos... problema de Lag na cpu não pois além da cpu ser boa e ter bastante memória, o jogo inteiro roda normal, sem lentidão.

outra coisa que percebi, é que coloquei um som com a opção LOOP em true e mesmo assim o som não inicia novamente quando termina prq será?
Convidad
Convidado

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 12:24
som não inicia novamente quando termina prq será?
...veja se na verdade não há uma grande pausa (silêncio) no final da música, o que pode confundir e parecer que não está em "loop";

flw
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 13:05
não tem nenhuma pausa nem tempo após a música, no winamp toca normal....
to achando que o GM apanha um pouco no quesito audio né.
Convidad
Convidado

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 15:16
Não velho... não acho que ele tenha problemas com isso... o que pode estar ocorrendo é algum conflito no código, algum outro obj/ação que interfere nisso de alguma forma;

Se puder, poste o arq ou um exemplo do erro para que possamos analisar e te ajudar melhor =]

flw
avatar
Ranking : Nota C
Notas recebidas : C - C
Data de inscrição : 14/11/2008
Número de Mensagens : 1166
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://www.programaCODM.webs.com/

Re: Ajuda com AUDIO...

em Qua 10 Dez 2008, 23:26
é acho que seria melhor Happy
mas acho que seria mais ou menos assim pq a música não da lup:

EVENTO STEP:

Código:
if !sound_isplaying(NOME DO SOM QUE QUISER TOCAR) //repare no !, ele equivale a 'not' ou seja NAO
{
sound_play(NOME DO SOM QUE ESTAVA TOCANDO ANTERIORMENTE)
}

acho que é isto Happy

FLW espero em ter ajudado Razz
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com AUDIO...

em Qui 11 Dez 2008, 11:48
bom estou fazendo os testes aqui pra ver e depois coloco os resultados se deu certo ou não, mas está bem estranho.....
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 19:24
Infelizmente, o !sound_isplaying(nome do som) não funcionou, o que mudou foi que assim q o som começa ela já inicia a ação, ou seja se o ! era pra equivaler a NOT não está funcionando. se alguém tiver mais alguma dica....

Quanto a lentidão do audio, eu resolvi isso passando o som de NORMAL para BACKGROUND, dai ele tocou na velocidade correta.
Convidad
Convidado

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 19:38
if !sound_isplaying(nome do som)
...isso seria se o som sendo tocado for "diferente" de nome_do_som... para not use o "not" mesmo, if not sound_isplaying(nome do som)

flw
Convidad
Convidado

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 19:47
@Vampire escreveu:Infelizmente, o !sound_isplaying(nome do som) não funcionou, o que mudou foi que assim q o som começa ela já inicia a ação, ou seja se o ! era pra equivaler a NOT não está funcionando. se alguém tiver mais alguma dica....

Quanto a lentidão do audio, eu resolvi isso passando o som de NORMAL para BACKGROUND, dai ele tocou na velocidade correta.

Quanto à velocidade do àudio a função que se usamos pra controlá-la dentro do Game Maker é:

sound_background_tempo()

Note que só funciona com arquivos MIDI (que é justamente o que está usando). Esse valor vai de 0.01 (muito lento) até 100 (muito rápido).

Quanto à checagem do som, faça como disse fmanna. Use a palavra not ao invés do ponto de exclamação.

Código:

if not sound_isplaying(som) then
 begin
 // coloque aqui o que quer que aconteça.
 end;
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 21:41
então Brendan tentei fazer isso do NOT SOUND mas ele já vai direto para a ação assim que o som começa a tocar, quando eu precisava que fosse quando o som parasse de tocar... por enquanto usei uma variável pra simular o tempo do som, dai a ação acontece quando essa variável chega a um determinado número, dai coloquei um número que de tempo da música terminar, mas sei que isso dependendo do computador é capaz de se alterar, então o certo seria detectar quando o som termina e ai sim executar a ação, mas nem com o NOT SOUND tá funcionando.


a sua outra dica do TEMPO foi fantástica, era justamente o que eu tava querendo, se bem que com a mudança de NORMAL pra BACKGROUND o problema se resolveu sozinho.
Convidad
Convidado

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 21:55
Confira se você não está checando o status do som antes de tocá-lo. Se você usar a condição "if not sound_isplaying" antes de tocar o som, acontecerá justamente isso.

O correto seria:


Código:

sound_play(som);

if not sound_isplaying(som) then // a condição deve vir depois
begin
 //código
end;
avatar
Data de inscrição : 14/07/2008
Número de Mensagens : 68
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 22:14
então, a parte do código do som tá assim:

o Objeto tem 3 itens: (vou colocar só os itens relacionados ao som)

(CREATE)
prox=0

(STEP)
if !sound_isplaying(FaseCompleta) and prox=1 {
global.nivel+=1
room_goto_next()
};


(COLISÃO)
no evendo COLISÃO com o Player que é quando da inicio a tudo:
sound_stop_all();
sound_play(FaseCompleta);
prox=1


pela lógica ai deveria funcionar, mas tá passando direto pra próxima room, quando eu queria que passasse só quando o som terminasse.
Convidad
Convidado

Re: Ajuda com AUDIO...

em Sex 12 Dez 2008, 22:36
Descobri o problema.

O fato é que a chamada do som está no evento de colisão, então enquanto houver colisão o som não será tocado porque a função sound_stop_all() vem antes da sound_play().

Tente isso no evento Colision:


Código:
If not sound_isplaying(FaseCompleta) then
 {
 sound_stop_all();
 sound_play(FaseCompleta);
 prox=1
 }
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