Som em uma aplicação - o que há de errado?  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
renatoes
JavaBaby
[Avatar]

Membro desde: 04/09/2006 20:00:45
Mensagens: 84
Localização: Londrina-PR
Offline

Boa tarde,

Estou fazendo um jogo para uma disciplina da faculdade e desenvolvi uma classe (bem simples) para fazer o controle de som. Alguém poderia me ajudar a identificar pq nada toca (obviamente, os arquivos de som estão nas pastas corretas, antes que perguntem). Aí vai o código:



Pelo que li no site da Sun, sobre a API de som, existe a possibilidade de usar outras classes, mas por se tratar de algo muito simples (fazer um som quando ocorre um acerto ou erro, por exemplo), não vejo a necessidade de algo mais sofisticado.

Agradeço a ajuda desde já

self.life = rand()
Our will will guide us to a place where we belong.
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Ao invés de pegar o File desse jeito, tente com o
SomManager.class.getResourceAsStream("/acerto.wav");

Ao invés de enums usando static, seria também melhor concentrar tudo num enum do Java, a menos é claro que você seja partidário do Java 1, ao invés do Java 5 ou superior. Nesse caso, use o typesafe enum pattern, que ainda sim é mais seguro e eficiente, com descrito aqui no item 21 do Effective Java. A vantagem é que o enum já conteria o audio-clip a ser tocado, além de outras informações de cada um desses estados.

Se você é partidário do Java 5 ou 6, dê uma olhada na classe SoundManager desse jogo que eu deixei por aqui. Elas usam a API do Java 5, e são realmente fáceis de integrar na aplicação. Por usarem um threadpool, também são bem mais eficientes.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
renatoes
JavaBaby
[Avatar]

Membro desde: 04/09/2006 20:00:45
Mensagens: 84
Localização: Londrina-PR
Offline

ViniGodoy,

Muito obrigado pelas explicações e disponibilização do código fonte, sempre uma chance a mais de aprendizado ao estudar alguma solução já encontrada!
Valeu

self.life = rand()
Our will will guide us to a place where we belong.
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team