| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/03/2008 09:59:49
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Pessoal estou com uma problema estranho em um aplicativo que executa .wav, seguinte, durante o momento que estou editando o código do aplicativo seja no Debug ou execução normal ele funciona corretamente, porem ao criar o arquivo .jar do aplicativo ele não mais executa o arquivo de áudio .wav e também não apresenta nenhum erro de execução.
O está ocorrendo?
Um abraço a todos e até mais!
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/03/2008 16:59:49
|
Tomassoni
JavaTeenager
![[Avatar]](/images/avatar/aaf662be6cd123f4c54c4d90d24b1373.png)
Membro desde: 28/08/2006 14:49:46
Mensagens: 198
Offline
|
Cara como vc esta pegando o arquivo de som?!
|
Rogério Tomassoni Jr.
Técnico em Informática
Graduando em Analise de Sistemas
"Sejamos como o sol que não visa nenhuma recompensa, nenhum elogio, não espera lucros nem fama, simplesmente brilha!" - Anônimo
"Só um palpite: dando tudo errado, grite." - U. Tavares
http://www.revista.espiritolivre.org/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/03/2008 17:25:59
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Esse arquivo de som está dentro do jar?
Como você carrega ele?
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/03/2008 18:55:52
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Ele está dentro do jar.
Seguinte estou utilizando javax.sound.*; para executar o audio.
Com AePlayWave extends Thread eu faço a chamada da execução do meu aplicativo e o danado só executa durante o momento em que estou trabalhando no código.
package alarme;
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
public class AePlayWave extends Thread {
private String filename;
private Position curPosition;
private final int EXTERNAL_BUFFER_SIZE = 524288; // 128Kb
enum Position {
LEFT, RIGHT, NORMAL
};
public AePlayWave(String wavfile) {
filename = wavfile;
curPosition = Position.NORMAL;
}
public AePlayWave(String wavfile, Position p) {
filename = wavfile;
curPosition = p;
}
public void run() {
File soundFile = new File(filename);
if (!soundFile.exists()) {
System.err.println("Wave file not found: " + filename);
return;
}
AudioInputStream audioInputStream = null;
try {
audioInputStream = AudioSystem.getAudioInputStream(soundFile);
} catch (UnsupportedAudioFileException e1) {
e1.printStackTrace();
return;
} catch (IOException e1) {
e1.printStackTrace();
return;
}
AudioFormat format = audioInputStream.getFormat();
SourceDataLine auline = null;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
try {
auline = (SourceDataLine) AudioSystem.getLine(info);
auline.open(format);
} catch (LineUnavailableException e) {
e.printStackTrace();
return;
} catch (Exception e) {
e.printStackTrace();
return;
}
if (auline.isControlSupported(FloatControl.Type.PAN)) {
FloatControl pan = (FloatControl) auline
.getControl(FloatControl.Type.PAN);
if (curPosition == Position.RIGHT)
pan.setValue(1.0f);
else if (curPosition == Position.LEFT)
pan.setValue(-1.0f);
}
auline.start();
int nBytesRead = 0;
byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
try {
while (nBytesRead != -1) {
nBytesRead = audioInputStream.read(abData, 0, abData.length);
if (nBytesRead >= 0)
auline.write(abData, 0, nBytesRead);
}
} catch (IOException e) {
e.printStackTrace();
return;
} finally {
auline.drain();
auline.close();
}
}
}
A execução e feita.
new AePlayWave( "alarme.wav" ).start(); // executa
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/03/2008 00:31:47
|
toninhocell
Debugger
![[Avatar]](/images/avatar/f1df1191208cc6abae70f1c317d0c610.jpg)
Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline
|
Pessoal creio que resolvi o problema.
Coloque meu arquivo de áudio em um diretório externo a minha aplicação e no Manifest eu alterei o Class-Path indicando o caminho para o arquivo, da seguinte forma: Class-Path: audio/, com isso é só colocar a na pasta audio o arquivo .wav que eu quero executar e pronto. Contanto que o nome dele seja o mesmo que coloquei na aplicação.
Galera um GRANDE ABRAÇO a todos do fórum e muitíssimo obrigado pela ajuda!
PS: Posta ia como eu faço para colocar código no forum de maneira mais organizada!
Até mais...
This message was edited 1 time. Last update was at 28/03/2008 00:33:25
|
"Hoje sou mais sábio do que ontem" |
|
|
 |
|
|