У меня проблема с моим кодом, когда каждый раз, когда я запускаю проект, он выбрасывается. Теперь я ограничил его тем, что звук воспроизводится при вызове метода play (), но не при вызове метода playL ().
package net.chrypthic.Ball;
import sun.audio.*;
import java.io.*;
public class SoundManager {
AudioPlayer ap = AudioPlayer.player;
AudioStream as;
ContinuousAudioDataStream loop = null;
public SoundManager(String music)
{
try
{
InputStream input = new FileInputStream("./"+music);
as = new AudioStream(input);
AudioData ad = as.getData();
loop = new ContinuousAudioDataStream(ad);
}catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public void play()
{
ap.start(as);
}
public void stop()
{
ap.start(as);
}
public void playL()
{
ap.start(loop);
}
public void stopL()
{
ap.start(loop);
}
}
Почему? Я передаю ему файл sound / gsong1b.wav, имеющий размер 6,2 МБ, длину 2 минуты и битовую частоту 16000 Гц.
Я слышал, что звуки должны быть меньше 4 МБ, но они воспроизводятся, и только ошибки, когда я зацикливаюсь ....
Любая помощь будет принята с благодарностью.