Потоковое видео с помощью Blackberry Simulator

Итак, я написал небольшое приложение для iphone, которое принимает URL-адрес http и воспроизводит видео в формате .mp4, расположенное по этому URL-адресу. Конечно, он делает больше, но это его суть. Естественно, мне хотелось иметь его не только на одной мобильной платформе, поэтому я решил в следующий раз нацелиться на BlackBerry.

Однако я сталкиваюсь с множеством проблем с BlackBerry Environment. Во-первых, я узнал, что могу скачать только 256k файлов! Я узнаю, как установить эту переменную в моем симуляторе MDS, и я узнаю, что это НЕ производственное решение, потому что любым конечным пользователям нужно будет, чтобы их администратор BES или MDS изменил настройку там. Затем я нахожу видео размером менее 2 МБ, с которым могу попрактиковаться. Переход в браузер предлагает мне сохранить видео, а не воспроизводится в браузере, как я ожидал. После сохранения видео отказывается воспроизводиться, говоря, что это неправильный формат.

Так. Я не могу найти ссылку на то, может ли BlackBerry транслировать по HTTP. Я слышал, что он может использовать RTSP, и ходили слухи, что он не может использовать HTTP, что было бы действительно отстой. Я также не могу найти ссылку на то, какой формат использует BlackBerry, хотя я могу найти миллион программ, которые конвертируют один файл в формат BlackBerry.

Конечно, КТО-ТО, должно быть, уже пытался передавать потоковое видео с BlackBerry раньше. Как они это сделали? Это просто безнадежная мечта? Придется ли мне использовать RTSP?

Извините за отсутствие конкретного вопроса. Я просто заблудился и ненавижу то, что так много руководств или сообщений на форумах, кажется, предполагают, что я знаю возможности Blackberry.


Изменить: я наконец узнал, что формат .3gp, о котором я никогда не слышал, - это то, что использует BlackBerry. Однако до сих пор не знаю, как транслировать видео из Интернета. Я нашел « Как воспроизвести видео в приложении для смартфона BlackBerry » Это казалось полезным, но код не работает, если вы даете ему URL-адрес, даже если он утверждает, что это так.


person J.R.    schedule 01.09.2009    source источник
comment
RTSP поддерживается, но не через BES или BIS (и, вероятно, не через симулятор MDS), поэтому вы должны убедиться, что клиент Blackberry может получить доступ к серверу RTSP, используя APN или шлюз WAP провайдера беспроводной связи.   -  person Richard    schedule 02.09.2009
comment
Просто переопределите метод run () нового потока и делайте там что-нибудь.   -  person Prof. Falken    schedule 25.02.2011


Ответы (1)


Хотя вы правы в том, что в учебнике утверждается, что код загрузит любой допустимый URL-адрес, документация API для javax.microedition.media.Manager.createPlayer указывает «Строку указателя в синтаксисе URI, описывающую мультимедийный контент», что на самом деле может не быть так же, как любой действительный URL. К счастью, createPlayer также примет InputStream и String, определяющие тип содержимого. Таким образом, вы должны иметь возможность открыть URL-адрес, как описано в API для HttpConnection, получить строку типа контента и открыть входной поток для создания проигрывателя.

Признаюсь, я этого не делал, но это был бы мой следующий шаг.

Кстати, не забудьте запустить выборку HttpConnection в потоке, отдельном от потока событий приложения.

person Richard    schedule 02.09.2009
comment
Хммм ... Я не вижу никаких ссылок на класс HttpConnection ни в одном Java API, который я могу найти ... вы имеете в виду HttpURLConnection? Если так, похоже, он никогда не наследуется от InputStream ... Могу ли я его использовать? Сам InputStream сбивает меня с толку, потому что их, кажется, очень много, и в документации предполагается, что я знаю, как создать соответствующий InputStream, чего я на самом деле не знаю ... Я буду продолжать копаться в API, см. что я могу выяснить. - person J.R.; 02.09.2009
comment
Хорошо, я понял, что HttpConnection находится в материале net.rim ... но я все еще потерялся, потому что его использование дает мне тот же результат. Может быть, проблема не в том, чтобы запустить его в отдельном потоке? Но я думал, что это просто повлияет на производительность? В любом случае, как бы я это сделал? - person J.R.; 02.09.2009