Reproduzir áudio com RGSS3

5 Respostas   935 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Fábio Pichler

  • *
  • Posts: 49
  • Ouros: 66
  • O Sábio dos Sapos
Tópico criado em: 03/09/2014 às 18:22 - Última modificação por Fábio Pichler em 04/09/2014 às 01:54

Então... Estou criando um script e ele terá uma função (opcional) de reproduzir áudio.

Já pesquisei bastante e não obtive resultado. Também dei uma olhada nas classes de áudio do RGSS3 com o RGSS3 Scanner (um script/sistema que mostra as classes do RGSS3) e também não obtive sucesso.

Aparentemente a classe BGM não possui uma função Stop e não achei uma maneira pra parar a música.
Exemplo do que fiz pra testar:
Código: [Selecionar]
@bgm = RPG::BGM.new("Airship", 100, 100)
@bgm.play

Eu também queria que o áudio não interferisse no bgm do jogo, caso eu use a classe BGM vai interferir.



Então, como posso reproduzir áudio/música com RGSS3?

Ou terei que usar uma biblioteca externa de áudio (C/C++)?
Se é assim, então é o de menos, o problema é que as bibliotecas de áudio que eu usaria, são de código aberto e não podem ser vendidas, caso usem num projeto comercial. Por isso eu preferia usar os recursos do RGSS, para não ter restrições.

Raizen

  • Administrador
  • *
  • Posts: 3224
  • Ouros: 3192
  • Medalhas Vencedor do Protótipo Premiado Participante notável do evento "A Estação das Luzes do Norte" Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!
Resposta 1: 03/09/2014 às 18:50

@bgm.stop :P?

Acho que era isso kk, não to com o rpg maker agora aqui, mas de qualquer modo é um método já da classe BGM, então... enfim xD.

Fábio Pichler

  • *
  • Posts: 49
  • Ouros: 66
  • O Sábio dos Sapos
Resposta 2: 03/09/2014 às 19:00 - Última modificação por Fábio Pichler em 03/09/2014 às 19:06

@bgm.stop :P?

Essa foi a primeira coisa que tentei no chute, mas não deu. Tentei com "S" maiúsculo (Stop) só pra testar e não deu.

Também tentei abaixar o volume e não deu em nada.

Acho que vou usar uma biblioteca (DLL) de áudio, mas vou fazer como um plugin pro script.

Shiroyasha

  • *
  • Posts: 277
  • Ouros: 342
  • Viajando por aí.
  • Medalhas Participantes do Maps Together 2
Resposta 3: 03/09/2014 às 19:15 - Última modificação por Shiroyasha em 03/09/2014 às 19:22

Código: [Selecionar]
RPG::BGM.fade(tempo) #tempo em milissegundos
Por que não usa uma BGS ou ME? Dependendo da aplicação nem é preciso ser uma BGM, só se você tem a intenção de fazer pausa.

Até.

Fábio Pichler

  • *
  • Posts: 49
  • Ouros: 66
  • O Sábio dos Sapos
Resposta 4: 04/09/2014 às 01:53

Código: [Selecionar]
RPG::BGM.fade(tempo) #tempo em milissegundos
Por que não usa uma BGS ou ME? Dependendo da aplicação nem é preciso ser uma BGM, só se você tem a intenção de fazer pausa.

Até.

AAAAAAAAAAgora sim!!!  :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap:

Eu não tinha encontrado o "fade" nas pesquisas no Google, ou tinha passado despercebido. Mas acho que não achei, mesmo.

Depois disso, acabei achando o RPG::BGM.last, dei uns chutes e segui uma linha de raciocínio, acabou dando nisso:
Código: [Selecionar]
def PlayAudio()
  @last_bgm = RPG::BGM.last
  RPG::BGM.new(@audio_name, 100, 100).play
end
def StopAudio()
  RPG::BGM.fade(500)
  @last_bgm.play(@last_bgm.pos)
end

Resolvido :ok: :lock:

Misty

  • Mito
  • *
  • Posts: 1602
  • Ouros: 1837
  • The Last One!~
  • Medalhas Participante do 'Amigo, Estou Aqui!' Participante da 2º Mostra de Arte Steamfórdia Vencedor CRM Awards - Melhor Designer pela 2ª vez Vencedor CRM Awards - Melhor Designer Vencedor do Protótipo Premiado
Resposta 5: 04/09/2014 às 02:00

Problema resolvido!  :lock: