У меня проблема с моим кодом, когда каждый раз, когда я запускаю проект, это выбрасывается. Теперь я сузил его до того, что звук воспроизводится, когда я вызываю метод 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 МБ, но они воспроизводятся, и только ошибки, когда я зацикливаюсь ... Любая помощь будет принята с благодарностью.