Чтобы протестировать RTSP, я использую медиасервер LIVE555. На сервере есть файл примера bipbop-gear1-all.ts и индексный файл, загруженный с сайта live555.com. Итак, мой URL-адрес просто http://(myIP):80/bipbop-gear1-all.ts
На эмуляторе Android 3.0 браузер в течение нескольких минут показывает ход загрузки, а затем ничего. Никаких обновлений в окне браузера, никаких уведомлений о загрузке Android. Он просто останавливается.
На устройстве Android 3.2.1 он запускает видеопроигрыватель, но сразу же отображает: Невозможно воспроизвести видео. Извините, это видео невозможно воспроизвести.
В простом тестовом приложении (загруженном из системы отслеживания проблем Android для проблемы 17118: Android 3.1 не может воспроизводить потоковую передачу HTTP Live), MediaPlayer.prepare() ненадолго обращается к серверу и немедленно выдает исключение IOException с сообщение «Подготовка не удалась.: status=0x1». Logcat также показывает ошибку (1, -2147483648).
Это же тестовое приложение без проблем воспроизводит локальный mp4, так что я считаю, что это хорошо. На iPad видео воспроизводится по тому же URL-адресу, что, по крайней мере, доказывает, что мой сервер работает хорошо.
Чтобы протестировать HTTP Live Streaming (HLS), я использую образец bipbop, представленный на apple.com:
http://devimages.apple.com/iphone/sampl ... index.m3u8
httplive://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
В эмуляторе Android 3 пример приложения начинает воспроизводить адрес по протоколу «httplive», но зависает. При использовании протокола «http» после MediaPlayer.start() он на мгновение зависает, но ничего не отображается. Затем logcat показывает:
Код: Выделить всё
W/AudioSystem(715): AudioFlinger server died!
W/IMediaDeathNotifier(715): media server died
E/MediaPlayer(715): error (100, 0)
E/MediaPlayer(715): Error (100,0)
На реальном устройстве 3.2.1 приложение, использующее протокол http, ведет себя так же, как и на эмуляторе 3.0. httplive выдает исключение IOException при подготовке с сообщением «Подготовка не удалась.: status=0x1».
В браузере эмулятора 3.0 по адресу http вызывается аудиоплеер, который останавливается, а затем отображает всплывающее сообщение: «Извините, проигрыватель не поддерживает этот тип аудиофайла». Адрес httplive просто переходит в поиск Google.
В браузере на реальном устройстве 3.2.1 адрес http вызывает диалоговое окно «Завершить действие с помощью» с вариантами выбора: «Музыка» и «Видеоплеер». Нажимаю «Видеоплеер», получаю: «Невозможно воспроизвести видео», «Извините, это видео невозможно воспроизвести». Нажимаю «Музыка» и получаю: «Не удалось воспроизвести запрошенную вами дорожку».. Опять же, этот адрес хорошо работает на iPad.
Будем очень благодарны за любую помощь.
Подробнее здесь: https://stackoverflow.com/questions/893 ... d-rtsp-rtp
Мобильная версия