Video 在Blackberry JDE中播放输入流视频
我想我在Blackberry 9000模拟器上使用InputStream的方式不正确: 我找到了一些示例代码 可以在黑莓应用程序中播放视频。该代码声称它可以处理HTTP,但它需要一些粉饰才能真正做到这一点: 具体而言,我正在做:Video 在Blackberry JDE中播放输入流视频,video,blackberry,stream,video-streaming,rim-4.6,Video,Blackberry,Stream,Video Streaming,Rim 4.6,我想我在Blackberry 9000模拟器上使用InputStream的方式不正确: 我找到了一些示例代码 可以在黑莓应用程序中播放视频。该代码声称它可以处理HTTP,但它需要一些粉饰才能真正做到这一点: 具体而言,我正在做: StreamConnection s = null; s = (StreamConnection)Connector.open("http://10.252.9.15/eggs.3gp"); HttpConnecti
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获取InputStream而不会导致“JUM错误104:未捕获的NullPointer异常”的唯一方法。(也就是说,将其转换为StreamConnection,然后再转换为HttpConnection可防止其崩溃)
然而,我仍然没有流视频。在此之前,无法创建流(它将因空指针异常而崩溃)。现在,一个流正在生成,调试器声称它正在开始从它流视频…但什么也没有发生。没有视频播放
应用程序不会冻结、崩溃或其他任何事情。我可以自由地“暂停”和“播放”,并为两者获取适当的调试消息。但没有视频显示
如果我正在播放存储在黑莓手机本地的视频,一切都很好(它实际上播放视频),所以我知道播放器本身工作正常,我只是想知道我的流是否有问题
API说玩家可以接收InputStream。它需要哪种类型?我如何查询我的InputStream以知道它是否有效?它的存在比我以前得到的要远
-珍妮
编辑:我使用的是Blackberry Bold simulator(9000)。我听说有些版本的手机不通过HTTP传输视频,但Bold可以。不过我还没有看到这样的例子。当我上网指向Blackberry可播放的视频时,它会尝试流式传输,然后要求我实际下载该文件(下载后播放效果良好)
编辑:另外,我还有一个黑莓黑体手机,但它也不能流式传输(我去了m.youtube.com,只得到了一个服务器/内容未找到的错误)。我需要做些什么来流式传输RTSP内容吗?您是否使用MDS作为网关?如果是,您是否收到HTTP 413错误? 如果是,请阅读本文:
因此,经过很长一段时间,我确定Blackberry Bold 9000不支持http流媒体。我最终不得不这样做(或者说我的同事不得不这样做)为渐进式下载编写自定义方法以模拟它。哦,好吧。您应该能够实际进行流式传输。首先,您必须确保您在URL中附加了正确的连接参数(即wifi连接的“interface=wifi”)。其次,您必须确保正在流式处理的文件不太大。如果文件太大,您将收到一个HTTP错误,说明“文件太大”。为了解决此问题,您需要对内容进行缓冲(请查看数据源API)。您应该将请求限制在1-2MB左右。在提取该“块”之后“您需要不断请求连续数据块(使用单独的http连接)以继续填充缓冲区。我希望这有帮助您可以尝试使用WAP浏览器(又名Media Net)访问youtube.com吗?”?Youtube在我的浏览器中也不工作,但它是通过Wap工作的。此外,您是否尝试过将URL传递给Manager.createPlayer函数?这是一个静态工厂,可以为您担心初始化细节。至少值得一试,因为似乎没有人提供任何帮助。如果需要,它会自动切换到Wap浏览器我正在尝试播放youtube视频,但仍然会出现服务器/内容未找到错误。我确实刚刚尝试传递URL…这会给我一个完全的空指针错误。有人告诉我,它可以只获取RTSP的URL(但不能用于HTTP?),但我仍然会出错。这很令人沮丧。啊,原来我无法访问youtube(至少)因为存在防火墙问题。但是,这仍然不能告诉我如何从输入流中流式传输视频(仍然不工作)