Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 在Blackberry JDE中播放输入流视频_Video_Blackberry_Stream_Video Streaming_Rim 4.6 - Fatal编程技术网

Video 在Blackberry JDE中播放输入流视频

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

我想我在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。它需要哪种类型?我如何查询我的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(至少)因为存在防火墙问题。但是,这仍然不能告诉我如何从输入流中流式传输视频(仍然不工作)