流式传输 HTTP 视频,甚至在黑莓模拟器上调试的正确方法是啥? [复制]
Posted
技术标签:
【中文标题】流式传输 HTTP 视频,甚至在黑莓模拟器上调试的正确方法是啥? [复制]【英文标题】:What is the proper way to stream HTTP video, or even to debug on a Blackberry simulator? [duplicate]流式传输 HTTP 视频,甚至在黑莓模拟器上调试的正确方法是什么? [复制] 【发布时间】:2009-09-02 14:19:33 【问题描述】:可能重复:Playing an InputStream video in Blackberry JDE
我已经看到了很多不同的方法,但没有一个是具体的(我尝试实现它们都失败了)。
是否存在在 Blackberry 上流式传输 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,我听说这很有效。我收到未找到服务器/内容的错误。
我工作场所的防火墙是否有可能阻止重要事情的发生?
【问题讨论】:
哇,这是老歌。 :) 我将您未注册的旧帐户与您当前的帐户合并,清理了答案,并将此问题作为您在 cmets 中指出的新帐户的副本关闭。如果您再次登录时遇到问题,请随时标记帖子以引起版主注意以联系我们或在Meta Stack Overflow 上发帖。谢谢! 【参考方案1】:您是在运行 MDS 的模拟器中执行此操作吗?如果您在启动时未启动 MDS,您可能需要将“;deviceSide=True”附加到 URL。另外,我认为直到 4.3 才支持嵌入式视频播放器。您是否尝试过使用 4.3+ JDE?
【讨论】:
我肯定运行 MDS。我不是要在网络浏览器中嵌入视频,而是要按照教程在应用程序中使用黑莓媒体播放器。无论哪种情况,我都可以使用视频媒体播放器,它只能工作(现在)与本地视频,尽管声称它也可以从网络上流式传输视频。 我的意思是在应用程序中嵌入视频。对于旧版本,您必须单独启动媒体播放器。你用的是什么 JDE? 4.6,我相信。这是我安装的组件更新。但是,就像我说的,我可以在应用程序中嵌入视频。那不是我的问题。我的问题是指定视频的来源。我可以嵌入本地视频,但不能嵌入互联网上的视频。【参考方案2】:播放视频的适当编解码器无需捆绑在 Blackberry Simulator 中。 Sun 的 Java ME 仿真器就是这种情况。而且,您提供的链接实际上是进行 RTSP 流式传输。支持流的编解码器(在您的情况下为 samr/H.263)通常不附带模拟器。
我认为代码没有任何问题。它必须在手机上播放良好。我会对其进行测试并告诉你情况如何 - 我目前无法使用 BB 电话。
【讨论】:
以上是关于流式传输 HTTP 视频,甚至在黑莓模拟器上调试的正确方法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章