Как правильно передавать потоковое видео HTTP или даже отлаживать на симуляторе Blackberry?

Возможный дубликат:
Воспроизведение видео InputStream в Blackberry JDE

Я видел много разных методов для этого, но ни один из них не является конкретным (и мои попытки реализовать их все провалились).

Существует ли известный способ потоковой передачи http-видео на Blackberry? Пример кода, учебники, что-нибудь?

Самое близкое, что я нашел, это: http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/1089414/How_To_-_Play_video_within_a_BlackBerry_smartphone_application.html?nodeid=1383173&vernum=0

Выше учебник, но у него есть несколько проблем:

Во-первых, пример кода, который он дает, предназначен для локального видео (которое я могу успешно воспроизвести). Он утверждает, что "любой действительный URL-адрес" будет работать для потоковой передачи по протоколу HTTP, но это явно ложно, поскольку предоставление известного хорошего URL-адреса.sgp ничего не делает.

Метод createPlayer может принимать InputStream, что звучит многообещающе, поэтому я изменил пример кода, чтобы в нем были строки:

 // player = Manager.createPlayer("file:///SDCard/eggs.3gp");
            HttpConnection c = (HttpConnection)Connector.open("http://good-3gp-videos.com/viapic/e39903da6e5c1e1c5d572a49a88a99e6.3gp");
            int rc = c.getResponseCode();
            if (rc != HttpConnection.HTTP_OK) {
                throw new IOException("HTTP response code: " + rc);
            }

             player = Manager.createPlayer(c.openInputStream(), null);
            player.realize();

Вместо предыдущего игрока создан из строки (закомментировано в моем источнике).

Это, однако, вызывает у меня точно такую ​​же проблему (в частности, попытка воспроизвести видео приводит к "JUM Error 104: Uncaught NullPointer Exception").

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

Это мое первое приложение Blackberry, поэтому я не очень хорошо знаю, как его отлаживать (например, несколько раз в примере кода вызывался вызов System.out.println(), но я никогда не вижу его на консоли,

Как мне отладить код или, альтернативно, как правильно транслировать HTTP-видео?


Слегка изменив код (добавив приведение к Stream Connection), я избавился от моей ошибки нулевого указателя, но, хотя ничего не происходит, и нет никаких исключений, он все еще не транслируется.

Я действительно слышал, что симуляторы не могут транслироваться, но наложение кода на телефон также не работает для меня.

Еще более запутанно то, что ни мой симулятор, ни мой реальный телефон не могут транслировать RTSP из m.youtube, который, как я слышал, работает. Я получаю сообщение об ошибке сервера / контента.

Возможно ли, что брандмауэр моего рабочего места предотвращает что-то важное?

2 ответа

Соответствующие кодеки для воспроизведения видео не обязательно должны быть включены в Blackberry Simulator. Это определенно относится к эмуляторам Java ME от Sun. А также, ссылка, которую вы предоставили, фактически выполняет потоковую передачу RTSP. И кодеки, которые поддерживают потоковую передачу (samr/H.263 в вашем случае), обычно не поставляются с симуляторами.

Я не вижу никаких проблем с кодом. Он должен хорошо играть на телефоне. Я протестирую его и дам знать, как это происходит - у меня нет доступа к телефону BB в данный момент.

Вы делаете это в симуляторе с запущенной MDS? Если вы не запускаете MDS при запуске, вам может понадобиться добавить ";deviceSide=True" в URL. Кроме того, я не думаю, что встроенный видеоплеер был поддержан до 4.3. Вы пробовали использовать 4.3+ JDE?

Другие вопросы по тегам