2009-09-01 3 views
3

그래서, 나는 http URL을 취하고 그 URL에 위치한 .mp4 비디오를 재생하는 아이폰 용 빠른 애플리케이션을 작성했습니다. 그것은 물론 그 이상입니다. 그러나 그것은 그것의 고기입니다. 당연히, 나는 하나의 모바일 플랫폼 이상을 원했기 때문에 BlackBerry를 다음 목표로 삼기로했습니다.Blackberry Simulator로 스트리밍 비디오

그러나 BlackBerry 환경에 문제가있는의 로 실행 중입니다. 우선, 256k 파일 만 다운로드 할 수 있다는 것을 알게되었습니다! 내 MDS 시뮬레이터에서 변수를 설정하는 방법을 배우고 최종 사용자가 BES 또는 MDS 관리자에게 설정을 변경시켜야하기 때문에 이것이 생산 솔루션이 아니라는 것을 알게되었습니다. 그런 다음 연습 할 수있는 2MB 미만의 비디오를 찾습니다. 브라우저로 이동하면 예상했던 것보다 브라우저에서 재생하는 것이 아니라 비디오를 저장하라는 메시지가 나타납니다. 동영상을 저장 한 후 동영상 형식이 잘못되었다고 말하면서 재생을 거부합니다.

So. BlackBerry에서 HTTP로 스트리밍 할 수 있는지 여부에 대한 참조를 찾을 수 없습니다. 그래도 RTSP를 사용할 수 있다고 들었지만 HTTP를 사용할 수 없다는 소문이 들렸다. 또한 하나의 파일을 'BlackBerry'형식으로 변환하는 백만 가지 프로그램을 찾을 수 있지만 BlackBerry에서 사용하는 형식에 대한 참조를 찾을 수 없습니다.

분명히 누군가는 이전에 BlackBerry로 비디오를 스트리밍하려고 시도했을 것입니다. 그들은 어떻게 그렇게 했습니까? 그냥 가망없는 pipedream입니까? RTSP와 함께 가야합니까?

구체적인 질문이 없으므로 죄송합니다. 나는 정말 잃어 버렸고, 많은 튜토리얼이나 포럼 게시물이 블랙 베리의 능력을 어떻게 생각하는지 생각하는 것을 싫어한다.


편집 : 마침내 들어 본 적이없는 .3gp 형식이 BlackBerry에서 사용하는 것으로 나타났습니다. 그러나 웹에서 비디오를 스트리밍하는 방법에 대해서는 아직 알지 못합니다. 내가 찾은 "How To - Play video within a BlackBerry smartphone application" 그건 유용하게 보였지만, 코드가 URL을 주면 코드가 작동하지 않는다고 주장한다.

+1

RTSP는 BES 또는 BIS (MDS 시뮬레이터는 아님)를 통해 지원되지 않으므로 클라이언트 Blackberry가 무선 제공 업체의 APN 또는 WAP 게이트웨이를 사용하여 RTSP 서버에 액세스 할 수 있도록해야합니다. – Richard

+0

그냥 새 스레드의 run() 메소드를 오버라이드하고 거기서 처리하십시오. –

답변

2

자습서에서 코드가 유효한 URL을로드한다고 주장하는 것이 맞지만 javax.microedition.media.Manager.createPlayer의 API 문서는 "미디어 내용을 설명하는 URI 구문의 로케이터 문자열"을 지정합니다. 실제로 유효한 URL과 동일해야합니다. 운좋게도 createPlayer는 내용 유형을 지정하는 String과 InputStream을 사용합니다. 따라서 HttpConnection 용 API에서 설명하는대로 URL을 열고 콘텐츠 유형 문자열을 잡고 입력 스트림을 열어 플레이어를 만들 수 있어야합니다.

나는 그 일을하지 않았 음을 인정하지만 그것은 나의 다음 단계 일 것이다.

BTW는 응용 프로그램 이벤트 스레드와 별도의 스레드에서 HttpConnection 가져 오기를 실행해야합니다.

+1

흠 ... 내가 찾을 수있는 모든 Java API에서 'HttpConnection'클래스에 대한 참조가 표시되지 않습니다 ... HttpURLConnection을 의미합니까? 그렇다면, InputStream에서 상속받는 것처럼 보이지 않습니다 ... 정말로 사용할 수 있습니까? InputStream 자체는 혼란 스럽다. 왜냐하면 그 중 많은 수가있는 것 같기 때문에 문서는 내가 적절한 InputStream을 생성하는 방법을 알고 있다고 가정한다. 실제로는 그렇지 않다. 나는 계속 API로 돌아 다니고있다. 내가 알아낼 수있는 것. – Jenny

+1

좋아요, 나는 HttpConnection이 net.rim 항목에 있다는 것을 알아 냈습니다 ... 그러나 나는 여전히 길을 잃었습니다. 별도의 스레드에서 실행하지 않는 것이 문제일까요? 하지만 성능에 영향을 미칠 것이라고 생각했습니다. 어쨌든 내가 어떻게 그럴 수 있니? – Jenny