[RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Bom dia.
Pessoal, meus áudios dos efeitos sonoros estão emitindo som só Depois do Botão ser solto. Já olhei o tópico https://www.schultzgames.com/t4985-tutorial-42-otimas-dicas-de-otimizacao-para-jogos-mobile-android
no item 29 - Importar corretamente arquivos de áudio, os configurei da forma que o tópico recomenda, estão assim:
Override for Android (marcado)
Load Type --> Compressed In Memory
Preload Audio Data (Marcado)
Compression Format --> Borbis
Quality --> 50
Sample Rate Setting --> Preserve Sample Rate
No Project Settings o DSP Buffer Size está Best Performance. Já coloquei s outras opções, mas não muda nada. Os áudios não são grandes, o maior tem 94k. Já as Músicas não percebi atraso, mas os efeitos sonoros só emitem som quando o botão é solto, esse é o atraso.
Mas parece não tratar os áudios, pois eles tem esse atraso, mesmo com essas configurações. Alguém? obg!
Pessoal, meus áudios dos efeitos sonoros estão emitindo som só Depois do Botão ser solto. Já olhei o tópico https://www.schultzgames.com/t4985-tutorial-42-otimas-dicas-de-otimizacao-para-jogos-mobile-android
no item 29 - Importar corretamente arquivos de áudio, os configurei da forma que o tópico recomenda, estão assim:
Override for Android (marcado)
Load Type --> Compressed In Memory
Preload Audio Data (Marcado)
Compression Format --> Borbis
Quality --> 50
Sample Rate Setting --> Preserve Sample Rate
No Project Settings o DSP Buffer Size está Best Performance. Já coloquei s outras opções, mas não muda nada. Os áudios não são grandes, o maior tem 94k. Já as Músicas não percebi atraso, mas os efeitos sonoros só emitem som quando o botão é solto, esse é o atraso.
Mas parece não tratar os áudios, pois eles tem esse atraso, mesmo com essas configurações. Alguém? obg!
Última edição por WLCS22 em Sáb Set 09, 2023 1:50 pm, editado 3 vez(es)
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
como está o script que reproduz o audio?
Se estiver dentro de uma void OnPointerUp, é normal isso acontecer.
Se estiver dentro de uma void OnPointerUp, é normal isso acontecer.
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Oi Magnatah, obg pela resposta!Magnatah escreveu:como está o script que reproduz o audio?
Se estiver dentro de uma void OnPointerUp, é normal isso acontecer.
O Script está assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sons : MonoBehaviour {
public GameObject objSomBotaoGeral;
public AudioSource somBotaoGeral;
void Awake() {
somBotaoGeral = objSomBotaoGeral.GetComponent<AudioSource>();
}
public void ligaSomBotaoGeral() {
somBotaoGeral.Play();
}
}
Nos outros Scripts estão botões que chamam esse Método (coloquei 1 só pra tela aqui não ficar mt grande)
Checo o Estado dos Efeitos Sonoros salvo no playerprefs. Se estiver "Ligado", chamo o método ligaSomBotaoGeral(). Em nenhum momento uso o "OnPointerUp" que vc falou. Um exemplo dos botões que chamam esse método é:
- Código:
Sons sons;
string stEstadoDosEfeitosSonoro;
// Método
stEstadoDosEfeitosSonoros = PlayerPrefs.GetString("EfeitosSonoros");
if(stEstadoDosEfeitosSonoros == "Ligado") {
sons.ligaSomBotaoGeral();
}
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
uma maneira de resover isso seria criando uma classe botão e definir para reproduzir o som quando apertasse o botão e não quando soltasse.
Outra opção seria ao invés de usar o Button, Usar o Event Trigger e escolher a opção Pointer Down.
- Código:
using UnityEngine;
using UnityEngine.EventSystems;
public class Botao : MonoBehaviour, IPointerDownHandler
{
public AudioSource somTeste;
public void OnPointerDown(PointerEventData eventData)
{
somTeste.Play();
}
}
Outra opção seria ao invés de usar o Button, Usar o Event Trigger e escolher a opção Pointer Down.
Última edição por Magnatah em Ter Set 05, 2023 10:25 pm, editado 1 vez(es) (Motivo da edição : Adicionando mais exemplos.)
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Magnatah escreveu:uma maneira de resover isso seria criando uma classe botão e definir para reproduzir o som quando apertasse o botão e não quando soltasse.
- Código:
using UnityEngine;
using UnityEngine.EventSystems;
public class Botao : MonoBehaviour, IPointerDownHandler
{
public AudioSource somTeste;
public void OnPointerDown(PointerEventData eventData)
{
somTeste.Play();
}
}
Outra opção seria ao invés de usar o Button, Usar o Event Trigger e escolher a opção Pointer Down.
Oi, voltei.
Troquei o Button pelo EventTrigger com a opção PointerDown, mas o atraso é o mesmo.
EDITADO:
Então. Implementei o Método OnPointerDown(PointerEventData eventData) da Classe IPointerDownHandler mas não resolve o problema, continua com o atraso
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Verifica se a Priority desse AudioSource está abaixo de outros, caso não seja isso, é provavel que algum script esteja causando esse atraso, ou até multiplos audios ao mesmo tempo sendo executado.
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Magnatah escreveu:Verifica se a Priority desse AudioSource está abaixo de outros, caso não seja isso, é provavel que algum script esteja causando esse atraso, ou até multiplos audios ao mesmo tempo sendo executado.
A Priority de todos os efeitos sonoros estão em 0 (High)
As Músicas em 128, no meio termo.
Eu tenho a Tela Introdutoria que tocando ou não uma música, o som do botão (todos eles em todos os Canvas) sempre tem esse atraso..
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
sabe usar o Profiling? Dá pra identificar possíveis gargalos em relação a audios, scripts e outros.
Compressed In Memory - o áudio precisa ser descomprimido antes de ser reproduzido, pode resultar em alguma latência durante a reprodução (nunca me ocorreu).
Compressed In Memory - o áudio precisa ser descomprimido antes de ser reproduzido, pode resultar em alguma latência durante a reprodução (nunca me ocorreu).
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
crie um novo projeto do zero e faça um teste somente com o audio e botão, assim vai saber se é gargalo ou script
Édipo- MembroAvançado
- PONTOS : 4006
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Oi pessoal!
Qual configuração vc coloca nos seus áudios?Magnatah escreveu:Magnatahsabe usar o Profiling? Dá pra identificar possíveis gargalos em relação a audios, scripts e outros.
Compressed In Memory - o áudio precisa ser descomprimido antes de ser reproduzido, pode resultar em alguma latência durante a reprodução (nunca me ocorreu).
Fiz. Mesma coisa. Como posso mandar ele pra vc? é possível mandar poraki? Se poraki não der, manda teu email. Magnatah, se vc quiser mando pra vc tbm. Obg, pessoal!Édipo escreveu:Édipocrie um novo projeto do zero e faça um teste somente com o audio e botão, assim vai saber se é gargalo ou script
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Joga no google drive e coloca como publico, pega o link e posta aqui.
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
https://drive.google.com/file/d/1WDruEjC7p6IKIbg05hy84M0Z3Ujobtuj/view?usp=sharing
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
- No seu projeto: Somente quando solta o botão que o som é executado, isso é normal do Button.
- Alterei e coloquei um Event-Trigger e pegou só de clicar, Se segurar e soltar não reproduz nada.
Imagem: https://prnt.sc/4T4ySY_iZrND
- Alterei e coloquei um Event-Trigger e pegou só de clicar, Se segurar e soltar não reproduz nada.
Imagem: https://prnt.sc/4T4ySY_iZrND
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Magnatah escreveu:- No seu projeto: Somente quando solta o botão que o som é executado, isso é normal do Button.
- Alterei e coloquei um Event-Trigger e pegou só de clicar, Se segurar e soltar não reproduz nada.
Imagem: https://prnt.sc/4T4ySY_iZrND
Esqueci de testar o EventTrigger no lugar do button nesse projeto que compartilhei, fiz agr e de fato é só clicar que ele já toca.
Descobri o problema no outro projeto! No meu outro projeto os áudios estão num Objeto que tem o "DontDestry" para que todas as scenes usem os áudios a partir dele. Nele eu pego pela tag os objetos que contem os áudios, dou um getcomponent pra pegar o audio source pra dar o play(). É isso.
Daí coloquei o áudio diretamente no script do botão e ele pegou! Problema resolvido! Agora vou colocar o EventTrigger no lugar de todos os botões e tratar os áudios em cada scene sem usar o "DontDestry". Fiz isso só pra ter controle dos áudios, mas se faz não funcionar bem, não serve. Gente, mt obg msm Magnatah e Édipo, qq coisa estamos aí!
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Vish maria, mudei os Buttons por EventTriggers no outro projeto como eu disse, mas só pude pegar nele agora pra testar e infelizmente está a mesma coisa que o button. Então não era a parada do "NaoDestroi", pegar pela tag e dar o getcomponent. O EventTrigger funcionou, mas agora está igual ao outro projeto, só vi isso agr. Um detalhe, quando coloco o áudio num input, ele não tem atraso. Fiz assim:
Diminuiu o atraso, mas eu preciso colocar dentro do Button ou EventTrigger, pois o ligar o som do botão está dentro dos métodos das coisas do jogo.
O atraso na Aba Game/Simulator na Unity não tem nenhum atraso, mas no Celular/Android ele ficou com um pouquinho de atraso ainda.
- Código:
void Update() {
if(Input.GetMouseButtonDown(0)) {
_audio.Play();
}
}
Diminuiu o atraso, mas eu preciso colocar dentro do Button ou EventTrigger, pois o ligar o som do botão está dentro dos métodos das coisas do jogo.
O atraso na Aba Game/Simulator na Unity não tem nenhum atraso, mas no Celular/Android ele ficou com um pouquinho de atraso ainda.
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Pessoal, boa tarde.
Achei esse tópico https://stackoverflow.com/questions/48986044/unity-button-onclick-event-trigger-has-a-noticeable-delay bem esclarecedor. O problema no Button é que o evento do clique chama o MouseUp! Alguém sabe se tem como configurar isso na Unity, pra mudar de Up pro Down?
Achei esse tópico https://stackoverflow.com/questions/48986044/unity-button-onclick-event-trigger-has-a-noticeable-delay bem esclarecedor. O problema no Button é que o evento do clique chama o MouseUp! Alguém sabe se tem como configurar isso na Unity, pra mudar de Up pro Down?
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Vê se pode ajudar:
- Código:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class ChangeClickEvent : MonoBehaviour, IPointerDownHandler
{
private Button button;
private void Start()
{
// Obtenha a referência do componente Button associado ao GameObject.
button = GetComponent<Button>();
// Remova o evento de clique padrão (MouseUp).
button.onClick.RemoveListener(OnClick);
// Adicione o evento de clique personalizado (MouseDown).
button.onClick.AddListener(OnMouseDownClick);
}
// Método para tratar o evento de clique personalizado (MouseDown).
private void OnMouseDownClick()
{
Debug.Log("Botão clicado com MouseDown!");
}
// Implemente o método da interface IPointerDownHandler.
// Isso é necessário para interceptar o evento de MouseDown no botão.
public void OnPointerDown(PointerEventData eventData)
{
// Chame o método de clique personalizado quando o MouseDown ocorrer.
OnMouseDownClick();
}
}
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Magnatah escreveu:Vê se pode ajudar:
- Código:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class ChangeClickEvent : MonoBehaviour, IPointerDownHandler
{
private Button button;
private void Start()
{
// Obtenha a referência do componente Button associado ao GameObject.
button = GetComponent<Button>();
// Remova o evento de clique padrão (MouseUp).
button.onClick.RemoveListener(OnClick);
// Adicione o evento de clique personalizado (MouseDown).
button.onClick.AddListener(OnMouseDownClick);
}
// Método para tratar o evento de clique personalizado (MouseDown).
private void OnMouseDownClick()
{
Debug.Log("Botão clicado com MouseDown!");
}
// Implemente o método da interface IPointerDownHandler.
// Isso é necessário para interceptar o evento de MouseDown no botão.
public void OnPointerDown(PointerEventData eventData)
{
// Chame o método de clique personalizado quando o MouseDown ocorrer.
OnMouseDownClick();
}
}
Opa! Blz! Só ficou faltando o "OnClick" que está sendo passado no button.onClick.RemoveListener() de onde vc está pegando ele?
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Tinha esquecido
- Código:
private void OnClick()
{
Debug.Log("Botão clicado com MouseUp!");
}
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Magnatah escreveu:Tinha esquecido
- Código:
private void OnClick()
{
Debug.Log("Botão clicado com MouseUp!");
}
antes de ver vc falar, troquei ele por "button.onClick.RemoveAllListeners();" menino... mas caiu como uma luva! agora sim o som sai no começo do click, o down. Mt obg msm!!!!! Agora a missão é tratar de todos os Botões, ir pros anúncios e depois o banco de dados pra fazer a loja online.
Última edição por WLCS22 em Sex Set 15, 2023 5:42 pm, editado 1 vez(es)
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: [RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Não sei se vai dar pra eu fazer o jogo online também, tá na mão de Deus! Caso não der, faço jogo offline msm e depois na 1ª Atualização deixo ele online, isso vai depender do feedback da turma, se gostarem do jogo faço online. Meu jogo é de tabuleiro, LUDO, só que fiz ele 3D com Poderes, coisa que não tem nos outros jogos de Ludo, espero em Deus que tudo dê certo^^
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Unity - Reproduzir Videos Do Blender No Unity
» preciso de ajuda meu unity nao reconhece o áudios
» [RESOLVIDO] Não consigo deixar meus áudios em 3D...
» [RESOLVIDO] Unity UI
» [RESOLVIDO]UNITY NAO REPRODUZ AUDIO, problema do pc ou da unity?
» preciso de ajuda meu unity nao reconhece o áudios
» [RESOLVIDO] Não consigo deixar meus áudios em 3D...
» [RESOLVIDO] Unity UI
» [RESOLVIDO]UNITY NAO REPRODUZ AUDIO, problema do pc ou da unity?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos