什么叫流式下载?

什么叫流式下载?,第1张

就是边边下边看,当然要缓冲的,缓冲完了就可以看了,很方便的 流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。 这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看到感兴趣的商品,点击以后,讲解员和商品的影像就会跳出来;更有真实感的影像新闻也会出现。 流媒体技术发端于美国,在美国目前流媒体的应用已很普遍,比如惠普公司的产品发布和销售人员培训都用网络视频进行。(南方都市报) 所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。 流式传输方式则是将整个A/V及3D等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备(硬件或软件)对压缩的A/V、3D等多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。 与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低。(ChinaByte)

举例代码:

    /**

     * 下载文件。

     * @param urlStr 文件的URL

     * @param savePath 保存到的目录

     * @param fileName 保存的文件名称

     * @param description 描述(如:歌曲,专辑封面,歌词等)

     * @throws IOException

     */

    public static void downLoad(String urlStr, String savePath, String fileName, String description) throws IOException

    {

        URL url = new URL(urlStr)

        HttpURLConnection conn = (HttpURLConnection) url.openConnection()

        conn.setConnectTimeout(100000)  // 设置超时间为10秒

        conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible MSIE 5.0 Windows NT DigExt)")  // 防止屏蔽程序抓取而返回403错误

        File saveDir = new File(savePath)

        File file = new File(saveDir + File.separator + fileName)

        try (InputStream inputStream = conn.getInputStream()

                FileOutputStream fos = new FileOutputStream(file))

        {

            byte[] flowData = readInputStream(inputStream)

            fos.write(flowData)

        } catch (Exception e) {

            MainFrame.logEvent("字节保存时出现意外:" + e.getMessage())

        }

        MainFrame.logEvent(description + "下载完成:" + url)

    }

MainFrame.logEvent()是我自己弄的日志记录而已,可以忽略不看


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11823044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存