1

可能重复:
在 Blackberry JDE 中播放 InputStream 视频

我已经看到了很多不同的方法,但没有一个是具体的(我实现它们的尝试都失败了)。

是否存在在黑莓上流式传输 http 视频的已知方法?示例代码,教程,什么?

我找到的最接近的是: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 流,但这显然是错误的,因为提供已知良好的 .sgp URL 没有任何作用。

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 错误 104:未捕获的 NullPointer 异常”。)

似乎我尝试从 URL 读取的两种方式都得到了 Null 响应。

这是我的第一个黑莓应用程序,所以我不是很熟悉如何调试它(例如,示例代码中有几次 System.out.println() 调用,但我从未看到它显示在控制台上.

我将如何调试代码,或者,流式传输 HTTP 视频的正确方法是什么?


稍微修改代码,(向流连接添加强制转换)摆脱了我的空指针错误,但即使没有崩溃,也没有异常,它仍然不是流式传输。

我确实听说模拟器无法流式传输,但是将代码放在手机上也对我不起作用。

更令人困惑的是,我的模拟器或我的实际手机都不能从我听说过的 m.youtube 流式传输 RTSP。我收到未找到服务器/内容的错误。

我工作场所的防火墙是否有可能阻止重要事情的发生?

4

2 回答 2

0

您是在运行 MDS 的模拟器中执行此操作吗?如果您在启动时未启动 MDS,您可能需要将“;deviceSide=True”附加到 URL。另外,我认为直到 4.3 才支持嵌入式视频播放器。您是否尝试过使用 4.3+ JDE?

于 2009-09-02T16:17:50.870 回答
0

播放视频的适当编解码器不需要捆绑在 Blackberry Simulator 中。Sun 的 Java ME 仿真器就是这种情况。而且,您提供的链接实际上是进行 RTSP 流式传输。支持流式传输的编解码器(在您的情况下为 samr/H.263)通常不附带模拟器。

我没有看到代码有任何问题。它必须在手机上播放良好。我会对其进行测试并告诉你它是怎么回事 - 我目前无法使用 BB 电话。

于 2009-09-03T04:59:55.057 回答