音频问题(mp3)并不总是在播放,而且不再播放

时间:2015-10-17 00:40:49

标签: java audio mp3

首先,它起到了很大的作用。下次我跑它时它非常顺利。现在它根本不玩。我用youtube教程设置它,找不到与我们的代码不同的东西。这就是我认为的问题所在。我已经在java中广泛搜索了音频,并且havnt已经找到了成功。这是我在调试中发现的:

"terminated"Game [Java Application] 
"disconnected"game.Game at localhost:51874  
"terminated, exit value: 0>C:\Program Files\Java\jre1.8.0_60\bin\javaw.exe (Oct 16, 2015, 7:23:49 PM)   

用<>替换“”由于某种原因上面的调试<>不会表现出来 我也得到了这个错误代码

javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(Unknown Source)
at com.sun.media.sound.DirectAudioDevice$DirectClip.implOpen(Unknown Source)
at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source)
at audio.AudioPlayer.<init>(AudioPlayer.java:30)
at game.Game.main(Unknown Source)

我不知道该怎么做,我在互联网上搜索无济于事。

这是我的代码。 Java项目: 游戏 SRC-      (包)音频      (类)AudioPlayer

 package audio;

 import javax.sound.sampled.*;

 public class AudioPlayer 
 {  
private Clip clip;

public AudioPlayer(String s)
{
    try
    {
        AudioInputStream ais = AudioSystem.getAudioInputStream(
                                getClass().getResourceAsStream(s));

            AudioFormat baseFormat = ais.getFormat();
            AudioFormat decodeFormat = new AudioFormat(
                    AudioFormat.Encoding.PCM_SIGNED,
                    baseFormat.getSampleRate(),
                    16,
                    baseFormat.getChannels(),
                    baseFormat.getChannels() * 2,
                    baseFormat.getSampleRate(),
                    false
                    );

        AudioInputStream dais = AudioSystem.getAudioInputStream(
                                decodeFormat, ais);
        clip = AudioSystem.getClip();
        clip.open(dais);

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }   
}

public void play()
{
    if (clip == null) return;
    stop();
    clip.setFramePosition(0);
    clip.start();
}
public void stop()
{
    if (clip.isRunning())
    {
        clip.stop();
    }
}
public void close()
{
    stop();
    clip.close();
}

}

(包)游戏 (课)游戏

 package game;
 import audio.AudioPlayer;
 public class Game
 {
static boolean w = true;
private static AudioPlayer BGMusic;
public static void main(String[] args) 
{   
    if (w = true)
    {
        BGMusic = new AudioPlayer("/Music/Opening.mp3");
        BGMusic.play(); 
    }
}

}

这是我在java项目中的其他内容      资源 -           音乐-                Opening.mp3      JRE系统库      参考图书馆 -           /Game/Libs/tritonus_share.jar           /Game/Libs/mp3spi1.9.5.jar           /Game/Libs/jl1.0.1.jar      libs-           /Game/Libs/jl1.0.1.jar           /Game/Libs/mp3spi1.9.5.jar           /Game/Libs/tritonus_share.jar

0 个答案:

没有答案