我觉得我用错误地输入流有黑莓9000模拟器:

我发现了一些样品代码,

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

这可以让你发挥的视频内的黑莓手机应用程序。代码要求,它可以处理HTTP,但它采取了一些fandangling得到它实际的方法这样做:

http://pastie.org/609491

具体地说,我做:

 StreamConnection s = null;
            s = (StreamConnection)Connector.open("http://10.252.9.15/eggs.3gp");
            HttpConnection c = (HttpConnection)s;                        
           InputStream i = c.openInputStream();
            System.out.println("~~~~~I have a connection?~~~~~~" + c);
            System.out.println("~~~~~I have a URL?~~~~" + c.getURL());
            System.out.println("~~~~~I have a type?~~~~" + c.getType());
            System.out.println("~~~~~I have a status?~~~~~~" + c.getResponseCode());

            System.out.println("~~~~~I have a stream?~~~~~~" + i);
             player = Manager.createPlayer(i, c.getType());

我发现,这是唯一的办法我可以得到输入流从一个HTTPConnection而不会导致:"JUM错误104:未捕获的现空指针例外"。(即,铸造一StreamConnection,然后作为一个HttpConnection停止其崩溃).

然而,我仍然没有视频流。之前,一个流不够是创建(它会崩溃与空指针例外)。现在,一个流,调试器,要求它开始以流视频从它...什么也没有发生。没有视频播放。

该应用程序不冻结或崩溃或任何东西。我可以"暂停"和"播放"的自由,并得到适当的调试的消息。但没有视频显示出来。

如果我播放视频储存在本地的黑莓,一切都很好(它实际上起到的视频),所以我知道播放器本身是工作,我"m只是想也许我有些东西错了我的流?

API说的玩家可以在输入流.是有一种特定它需要?我怎么能查询我的输入流知道它是否有效?它是现有的还比我得到之前。

-珍妮

编辑:我的黑莓大胆的模拟器(9000).我听说某些版本的手机不流视频通过HTTP,然而大胆。我还没有看到这样的例子。当我去上网和黑莓手机播放视频,它试图流,然后要求我身体下载的文件(以及然后起没事的,一旦我下载)。

编辑:还有,我有一个物理的黑莓大胆,但它不能流或者(我已经走了m.youtube.com,只有获得服务器/内容未发现的误差)。是不是有什么特别我需要做到流RTSP的内容?

有帮助吗?

解决方案

所以,很长一段时间后,我已经确定,黑莓Bold 9000没有做HTTP流。我最后不得不(或者说有我的一个同事)的渐进式下载来模拟它写自定义方法。哦,

其他提示

您应该能够实际流。首先,你必须确保要附加正确的连接参数,您的网址(即“界面=无线网络连接”为WiFi连接)。其次,你必须确保你流的文件不会太大。如果过大,你会得到一个HTTP错误,指出“文件过大”。为了解决这个问题,你需要缓冲的东西(查看数据源的API)。你应该限制你要求约1-2MB什么。你有拉那之后“块”,你需要保持请求顺序块(与单独的HTTP连接)继续填补你缓冲。我希望这有助于

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top