estou fazendo um programinha que fica tocando uma musica enquanto ele eh executado, + qndo eu coloco o som pra executar da uma mensagem de erro…
o metodo q carrega o clip de audio eh esse
public boolean loadClip ()
{
// get clip line for file
try {
// get audio format of sound file
AudioFormat audioFormat = soundStream.getFormat();
// define line information based on line type,
// encoding and frame sizes of audio file
DataLine.Info dataLineInfo = new DataLine.Info(
Clip.class, AudioSystem.getTargetFormats(
AudioFormat.Encoding.PCM_SIGNED, audioFormat ),
audioFormat.getFrameSize(),
audioFormat.getFrameSize() * 2 );
// make sure sound system supports data line
if ( !AudioSystem.isLineSupported( dataLineInfo ) ) {
System.err.println( "Unsupported Clip File!" );
return false;
}
// get clip line resource
clip = ( Clip ) AudioSystem.getLine( dataLineInfo );
// listen to clip line for events
clip.addLineListener( this );
// open audio clip and get required system resources
clip.open( soundStream );
} // end try
// line resource unavailable
catch ( LineUnavailableException noLineException ) {
noLineException.printStackTrace();
return false;
}
// I/O error during interpretation of audio data
catch ( IOException ioException ) {
ioException.printStackTrace();
return false;
}
// clip file loaded successfully
return true;
} // end method loadClip
eu peguei uma classe pronta pra fazer isso, + qndo executo da esse erro:
[color=red]javax.sound.sampled.LineUnavailableException: Failed to allocate clip data: Requested buffer too large.[/color]
se eu coloco arquivos pequenos eu consigo executar, o maior que eu consegui foi um arquivo de 1,94Mb.
existe alguma forma de eu aumentar esse limite?
alguem tem uma ideia?
eu colokei tb a classe pronta pra vcs darem uma olhada pra ver se tm algo errado…
vlw