2009-09-01 80 views
3

所以,我为iphone编写了一个快速的小应用程序,它接受一个http URL,并播放位于该URL的.mp4视频。当然,它的确不止这些,但那是它的肉。当然,我想要的不仅仅是一个移动平台,所以我决定下一步瞄准黑莓手机。使用黑莓模拟器流媒体视频

但是,我遇到了有关BlackBerry Environment问题的lot。首先,我知道我只能下载256k文件!我学习如何在MDS模拟器中设置该变量,并且我知道这不是一个生产解决方案,因为任何最终用户都必须让他们的BES或MDS管理员更改设置。然后,我发现一个小于2MB的视频,我可以练习。去浏览器提示我保存视频,而不是像我期望的那样在浏览器中播放。保存视频后,它拒绝播放,说这是错误的格式。

所以。我无法找到关于BlackBerry能否使用HTTP进行流式传输的参考。但是我听说它可以使用RTSP,并且听说有些传言说它不能使用HTTP,这真的很糟糕。尽管我可以找到一百万个将一个文件转换为'BlackBerry'格式的程序,但我也无法找到BlackBerry使用何种格式的参考。

肯定有人曾试图用黑莓视频流。他们是如何去做的?这只是一个无望的飞鸟?我需要使用RTSP吗?

对不起,没有具体的问题。我真的很失落,我讨厌这么多的教程或论坛帖子似乎认为我知道黑莓的功能。


编辑:我终于找到了该名为.3gp格式,这是我从来没有听说过的,就是黑莓使用。尽管如此,仍然不知道如何从网络上流式传输视频。我发现"How To - Play video within a BlackBerry smartphone application"这看起来很有用,但是如果你给它一个URL,那么代码不起作用,尽管它声称它是。

+1

支持RTSP,但不支持BES和BIS(也可能不支持MDS模拟器),因此您必须确保客户端Blackberry可以使用无线提供商的APN或WAP网关访问RTSP服务器。 – Richard 2009-09-01 22:10:06

+0

只需重写新线程的run()方法并在其中执行任何操作。 – 2011-02-25 12:10:04

回答

2

虽然您确定本教程声明代码将加载任何有效的URL,但javax.microedition.media.Manager.createPlayer的API文档指定了“描述媒体内容的URI语法中的定位器字符串” ,实际上与任何有效的URL都是一样的。幸运的是,createPlayer还将采用InputStream和一个指定内容类型的字符串。因此,您应该能够打开HttpConnection API中记录的URL,获取内容类型字符串,并打开输入流以创建播放器。

我承认我没有那样做,但这将是我的下一步。

顺便说一句,请记住在与应用程序事件线程分开的线程上运行您的HttpConnection提取。

+1

嗯...我没有看到任何引用到任何Java API中的'HttpConnection'类,我可以找到......你的意思是HttpURLConnection?如果是这样,它似乎不会从InputStream继承...我真的可以使用它吗? InputStream本身让我感到困惑,因为它似乎有这么多,而且文档假设我知道如何创建适当的InputStream,但我并不真的......我会一直在API中徘徊,尽管我能弄明白。 – Jenny 2009-09-02 12:50:25

+1

好吧,我发现HttpConnection在net.rim中......但是我仍然输了,因为使用它会得到同样的结果。也许不是在单独的线程中运行它是问题吗?但我认为这只会影响性能?无论如何,我会怎么做? – Jenny 2009-09-02 13:47:56