2

有没有办法从服务器流式传输和播放视频文件?

黑莓是否提供任何可以播放流式视频的内置视频播放器?

4

2 回答 2

7

是的你可以。在 bb 设备上流式传输视频有两种方式:

  • 使用来自 jsr-135 的 javax.microedition.media.Player
  • 使用标准媒体应用程序

了解如何 - 在 BlackBerry 智能手机应用程序中播放视频

您可以在http://m.youtube.com上通过 BlackBerry 浏览器对其进行测试
如何在 BlackBerry Bold 9000 上观看 YouTube 视频

对于 RTSP,您必须使用 WAP 或 WiFi 协议:
媒体应用程序将切换到 WAP 用于流媒体

BlackBerry 智能手机支持的媒体类型

于 2009-09-19T15:50:17.990 回答
1

我正在使用此代码打开内置播放器(用于远程和本地视频):

private void handleVideo(String url) {
    try {
        Invocation inv = new Invocation();

        if (url.startsWith("local")) {
            url = url.substring(url.lastIndexOf('/'));
            InputStream is = getClass().getResourceAsStream("/res" + url);
            if (is == null)
                return;
            // move resource to device memory so that we get an url which
            // can be passed to Invocation
            url = "file:///store/home/user/videos" + url;
            FileConnection dest = (FileConnection) Connector.open(url);
            if (!dest.exists())
                dest.create();
            dest.setWritable(true);
            OutputStream o = dest.openOutputStream();
            byte[] buf = new byte[8192];
            int length = -1;
            while ((length = is.read(buf)) > 0)
                o.write(buf, 0, length);
            o.close();
            is.close();
            dest.close();
        }

        inv.setID(BlackBerryContentHandler.ID_MEDIA_CONTENT_HANDLER);
        inv.setArgs(new String[] { BlackBerryContentHandler.MEDIA_ARGUMENT_VIEW_MEDIA });
        inv.setURL(url);
        Registry reg = Registry.getRegistry(getClass().getName());
        reg.invoke(inv);
    } catch (Throwable e) {
        UiApplication.getUiApplication().invokeAndWait(new RunnableDialog(e.getMessage()));
    }
}
于 2011-09-14T13:07:21.683 回答