Ошибка Android MediaPlayer: ошибка MediaPlayer (1, -2147483648) при потоковой передаче из Интернета

Я пытаюсь транслировать аудио с URL. Код прекрасно работает с другими URL-адресами, но в одном из них происходит сбой вOnPrepared метод, возвращающий этот код ошибки: (1, -2147483648). Я читал, что некоторые люди говорили, что это из-за разрешений, но это удаленный файл, поэтому я не могу устанавливать разрешения. Я пробовал URL-адрес с другими приложениями, такими как VLC и iTunes, и он работает нормально. Мой код здесь:

private void prepareradio() {
    player = new MediaPlayer();
    player.setAudioStreamType(MODE_WORLD_READABLE);
    try {
        player.setDataSource(url);

    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    player.setOnErrorListener(new OnErrorListener(){
        public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
            Toast.makeText(getApplicationContext(),"An error happened while preparing radio",Toast.LENGTH_LONG).show();
            prepareradio();
            playe.setEnabled(true);
            hidenot();
            return false;
        }
    });
 user142316829 мая 2012 г., 10:26
Поток такой:online.radiodifusion.net:8048 и logcat показывает только дважды: ошибка MediaPlayer (1, -2147483648)
 user142316829 мая 2012 г., 10:34
Именно эти 2 строки: E / MediaPlayer (12263): ошибка (1, -2147483648) E / MediaPlayer (12263): Ошибка (1, -2147483648) @Bo.
 Bo.29 мая 2012 г., 10:15
Какой поток? Где logcat?

Ответы на вопрос(3)

Я также получал ту же ошибку на Froyo & amp; Имбирный пряник. В более высоких андроидах то же видео воспроизводилось хорошо. Наконец, после долгих исследований, попытался изменить URL Https на URL Http & Амп; Бинго. Это решило мою проблему. Я использовал сервер amazon S3, чтобы просто заменить & quot; https & quot; в URL с "http" было достаточно.

  videoUrl= videoUrl.replaceFirst("https", "http"); 

PS: для поддержки более старых версий, если вы используете H.264, убедитесь, что видео имеют базовую кодировку.

Решение Вопроса

Если вы проводите тестирование на устройствах, предшествующих Android 3.1, возможно, вы не сможете воспроизводить AACP (как показано на информационной странице для потоковых потоков (AAC +).

Информационная страница для вашего потока:
enter image description here

Чтобы узнать, какие потоки вы можете воспроизводить на целевом устройстве, проверьте официальные документы:http://developer.android.com/reference/android/media/AudioManager.html

Если вы ищете, как обработать aacp checkout следующим образом:
https://stackoverflow.com/a/8833346/200272

 user142316829 мая 2012 г., 13:53
Я пытался с другим проектом под 4.0 SDK, но тоже не работает, поэтому я попробую с этими библиотеками, я надеюсь, что это работает, спасибо @Bo.
 29 мая 2012 г., 14:03
Не забывайте, что если вы найдете решение своей проблемы или один из ответов решит вашу проблему, проголосуйте за правильные ответы.

Как я вижу, этот поток не поддерживается mediaPlayer. Android поддерживает AAC LC / LTP, но ваш поток aacp. Я думаю, что это может быть основной причиной вашей проблемы.

Ваш ответ на вопрос