Почему этот файл WAV не воспроизводится? Это дает мне исключение NullPointerException

package net.NitroCruze.mrpg.baseengine.music;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.Line;
import javax.sound.sampled.LineUnavailableException;

public class CPSound implements Runnable{
    AudioInputStream as1;
    AudioFormat af;
    Clip clip1;
    DataLine.Info info;
    Line line1;

    public CPSound() {
        Thread soundThread;
        soundThread = new Thread(this, "Sound");
        soundThread.start();
    }

    public void play() {
        try{
            as1 = AudioSystem.getAudioInputStream(new FileInputStream(new File("/res/music.wav")));
            af = as1.getFormat();
            clip1 = AudioSystem.getClip();
            info = new DataLine.Info(Clip.class, af);
            line1 = AudioSystem.getLine(info);
        }
        catch(Exception e)
        {
        }

        if ( ! line1.isOpen() )
        {
            try
            {
                clip1.open(as1);
            }
            catch (Exception e)
            {  
            }
            clip1.loop(Clip.LOOP_CONTINUOUSLY);
            clip1.start();
        }
    }

    public void run()
    {
        play();
    }
}

Почему это не работает? Это дает мне NullPointerException?


person Steve    schedule 27.06.2014    source источник
comment
где размещен ваш аудиофайл?   -  person jmj    schedule 27.06.2014
comment
Вот подсказка: исключение включает номер строки. посмотрите на эту строку или сообщите нам номер строки и укажите, какая строка находится в вашем включенном коде.   -  person DwB    schedule 27.06.2014
comment
Я предполагаю, что ошибка находится в as1 = AudioSystem.getAudioInputStream..., поскольку путь к файлу, вероятно, неверный. Где находится ваш .wav файл?   -  person tcooc    schedule 27.06.2014
comment
Что ж, этот вопрос был отправлен для использования щедрости --- ›stackoverflow.com/questions/24317210/   -  person Am_I_Helpful    schedule 27.06.2014


Ответы (1)


Я узнал, почему не работает! Я поставил "/" перед 'res / music.wav', из-за чего система загрузки файлов думала, что я загружаюсь с ДИСКА (например, C: / F: /), но до этого ничего не было / поэтому она думала, что это загрузка с нулевого диска, который не может существовать.

person Steve    schedule 05.07.2014