Não consigo tocar sons pequenos com javax.sound e nem "cloná-los"  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
dudaskank
GUJ Ranger
[Avatar]
Membro desde: 12/09/2003 14:59:26
Mensagens: 850
Localização: Suzano, SP, Brasil
Offline

Olá pessoal do GUJ

Estou aqui fazendo algumas experiências para tocar sons via java, a api parece muito boa e tal mas... tive um problema.

Consigo tocar midi e wav com mais de 1 segundo de duração, porém, não estou tendo sucesso ao tocar um som com menos de 1 segundo de duração.

Estou me baseando neste artigo: Java and Sound, Part 1, e mesmo o código postado por eles não consegue tocar (SoundPlayer.java)

Gostaria de saber se algum de vocês conhece algo que possa ser feito para arrumar isso.

Outra coisa, não descobri nenhum modo de clonar o objeto, se eu precisar tocar o mesmo som mais de uma vez ao mesmo tempo, não estou conseguindo... alguém sabe?

Estou usando java 5, eclipse 3.2

flw, valeu
 Nome do arquivo death.wav [Disk] Download
 Descrição som que toca normal
 Tamanho 9 Kbytes
 Baixado:  142 vez(es)

 Nome do arquivo boom.wav [Disk] Download
 Descrição som que não toca
 Tamanho 7 Kbytes
 Baixado:  99 vez(es)


Eduardo Oliveira

Toque a balada do amor inabalável, eterna love song de nós dois...

Página
[WWW]
dudaskank
GUJ Ranger
[Avatar]
Membro desde: 12/09/2003 14:59:26
Mensagens: 850
Localização: Suzano, SP, Brasil
Offline

Bem, até agora nada por aqui, tentei também usando Applet.newAudioClip(), mas só o que tem mais de um segundo foi tocado mesmo... alguém aí imagina o que pode ser?

Eduardo Oliveira

Toque a balada do amor inabalável, eterna love song de nós dois...

Página
[WWW]
dudaskank
GUJ Ranger
[Avatar]
Membro desde: 12/09/2003 14:59:26
Mensagens: 850
Localização: Suzano, SP, Brasil
Offline

Eu ainda continuo com este problema, mas achei esse relato de bug aqui:

LineEvent.Type.STOP is returned too early for short sound clips

Vi isso daqui nele:

Verified to work fine with DirectAudioDevices. The old implementation (Java Sound Engine) will not be fixed. To make it clear: the fix will work with 1.5.0 or later, on
- Solaris with Mixer enabled
- Windows with Direct Sound 5 or later
- Linux with ALSA and hardware or software mixing enabled in ALSA


Como ele está fechado, achei que podia ter feito alguma coisa errada com meu código lá, e fiz esse programa que foi baseado no que está no bug report e tentei tocar o arquivo que anexei lá em cima, o boom.wav:



Aí então, vou todo feliz rodar meu programa e recebo isso aqui:

java.runtime.version=1.5.0-b64
os.name=Windows 2000
com.sun.media.sound.DirectAudioDevice$DirectClip@941db6
O áudio possui 847 ms
Iniciando reprodução em 1159452999859
Evento STOP em 1159452999859
Tempo decorrido de 0 ms


Ou seja, segundo o bug report, esse bug já foi corrigido na versão 5 do java!

Então gostaria de saber:

  • Como saber a versão do DirectX?

  • Vocês conseguem tocar o som com esse programa? Qual SO e versão do Java você está usando?

  • Como faço pra pedir uma reabertura desse bug?



  • Por favor, alguém me dê uma luz... não sei o que fazer!

    Obrigado desde já, tchau

    Eduardo Oliveira

    Toque a balada do amor inabalável, eterna love song de nós dois...

    Página
    [WWW]
     
    Índice dos Fóruns » Java Avançado
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team