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

4

Я пытаюсь транслировать аудио с 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;
        }
    });
Какой поток? Где logcat? Bo.
Поток такой:online.radiodifusion.net:8048 и logcat показывает только дважды: ошибка MediaPlayer (1, -2147483648) user1423168
Именно эти 2 строки: E / MediaPlayer (12263): ошибка (1, -2147483648) E / MediaPlayer (12263): Ошибка (1, -2147483648) @Bo. user1423168

Ваш Ответ

3   ответа
2

Если вы проводите тестирование на устройствах, предшествующих 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

Я пытался с другим проектом под 4.0 SDK, но тоже не работает, поэтому я попробую с этими библиотеками, я надеюсь, что это работает, спасибо @Bo. user1423168
Не забывайте, что если вы найдете решение своей проблемы или один из ответов решит вашу проблему, проголосуйте за правильные ответы.
3

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

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

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

0

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

Похожие вопросы