我想我在 Blackberry 9000 模拟器上错误地使用了 InputStream:
我找到了一些示例代码,
可让您从黑莓应用程序中播放视频。该代码声称它可以处理HTTP,但它需要一些花哨的东西才能让它真正接近这样做:
具体来说,我正在做:
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。它需要特定的种类吗?如何查询我的输入流以了解它是否有效?它的存在比我以前得到的要远。
-珍妮
编辑:我在黑莓 Bold 模拟器(9000)上。我听说某些版本的手机不通过 HTTP 流式传输视频,但是 Bold 可以。不过,我还没有看到这样的例子。当我上网并指向一个黑莓可播放视频时,它会尝试流式传输,然后要求我物理下载文件(然后在我下载后正常播放)。
编辑:另外,我也有一个实体黑莓 Bold,但它也不能流式传输(我去了 m.youtube.com,只是得到一个服务器/内容未找到错误)。我需要做些什么来流式传输 RTSP 内容吗?