почему я получаю эту ошибку при воспроизведении звукового файла .wav с использованием eclipse IDE? - PullRequest
0 голосов
/ 16 июля 2011

всякий раз, когда я пытаюсь воспроизвести звуковой файл .wav или .mp3. ИСПОЛЬЗУЯ ECLIPSE IDE, я получаю эту ошибку, проверяю код (очень просто, почему я получаю ошибки?):

import sun.audio.*;
import java.io.*;
public class Sound {
 String Filename = "someSound.wav";
    InputStream in;
    AudioStream as;

public Sound() {
    try {
        in = new FileInputStream(Filename);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    try {
        as = new AudioStream(in);
    } catch (IOException e) {
        e.printStackTrace();
    }
    AudioPlayer.player.start(as);
    AudioPlayer.player.stop(as);

}

static public void main(String[] args) {
    Sound s = new Sound();
}}

и этоэто исключение:

java.io.FileNotFoundException: someSound.wav (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at Sound.<init>(Sound.java:14)
at Sound.main(Sound.java:10)
Exception in thread "main" java.lang.NullPointerException
    at sun.audio.AudioStream.<init>(AudioStream.java:65)
    at Sound.<init>(Sound.java:19)
    at Sound.main(Sound.java:10)

так в чем проблема?

edit 1:

я также попытался изменить путь к C: \ Users \ Rev3rse \ workspace \Project1 \ src \ someSound.wav

, и я получил разные исключения, проверьте его:

java.io.IOException: could not create audio stream from input stream
at sun.audio.AudioStream.<init>(AudioStream.java:82)
at Sound.<init>(Sound.java:16)
at Sound.main(Sound.java:26)

Ответы [ 2 ]

0 голосов
/ 04 февраля 2014

Я бы порекомендовал создать InputStream из ресурса, чтобы вы не были привязаны к пути.Что-то вроде:

in = this.getClass().getResourceAsStream("someSound.wav");

Это исключает путь и создает на одну головную боль меньше для разработчика, о котором нужно беспокоиться.

0 голосов
/ 07 октября 2013

FileInputStream ожидает, что путь к файлу будет разбит на две косые черты. Вместо того, чтобы указывать исходный путь как C: \ Users \ Rev3rse \ workspace \ Project1 \ src \ someSound.wav, используйте двойные слеши для раздела.

НАДЕЖДА, ЭТО РАБОТАЕТ !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...