Как заставить Audiostream работать на Java, как получить искаженное искажение URL - PullRequest
1 голос
/ 31 августа 2011

Итак, у меня есть этот класс, который, по-видимому, не работает по какой-либо причине, он дает мне исключение по искаженному URL-адресу, но я не могу найти причину, по которой URL-адрес не должен быть действительным.

public static void nyan()
{
    String soundfile = "http://api.ning.com/files/3zmSvhA*3jKxFJj1I5uh5dp5oCynyyMksQjwS3JWWQNlriTzDzX61KtlFnuQtx-hEmV7NdqVgofmZvh7cXOX-UVJ47m1SR4a/nyanlooped.mp3";
    URL url = new URL(soundfile);

    AudioStream as = new AudioStream (url.openStream());
    AudioData data = as.getData();
    ContinuousAudioDataStream cas = new ContinuousAudioDataStream (data);
    AudioPlayer.player.start(cas);
}

Буду признателен за любую помощь, вероятно, что-то простое, спасибо

1 Ответ

1 голос
/ 31 августа 2011

Какую версию Java вы используете? Я очень хорошо могу создать URL из URL url = new URL(soundfile);, используя Java 6. URL-адрес в порядке, он не содержит небезопасных символов, по крайней мере, тот, который вы разместили здесь.

Но вот мое предположение: приведенный вами пример не был тем, который действительно вызвал ошибку, может ли это быть причиной? Однажды была похожая проблема - вы создаете двоичные данные в Base64 для создания URL. Это работает часто, но не всегда: как только кодировка содержит +, вы, вероятно, столкнетесь с проблемами, + придется кодировать URL.

...