Flex:动态创建视频的预览图像
发布时间:2020-12-15 02:11:00 所属栏目:百科 来源:网络整理
导读:我正在使用VideoDisplay播放flv,mov和mp4,一切都很好.它们都是通过渐进式下载加载的,并且没有流式传输.我想要做的是抓取一个指定的帧(就像在10秒标记处显示的那样),将其转换为位图并使用该位图作为视频的预览图像.我想在运行时这样做,所以我不必为每个要显示
我正在使用VideoDisplay播放flv,mov和mp4,一切都很好.它们都是通过渐进式下载加载的,并且没有流式传输.我想要做的是抓取一个指定的帧(就像在10秒标记处显示的那样),将其转换为位图并使用该位图作为视频的预览图像.我想在运行时这样做,所以我不必为每个要显示的视频创建预览图像.
有什么想法如何做到这一点?我宁愿不通过玩它来伪造它 – 寻找那个特定的框架,然后暂停它,但我可能别无选择? 解决方法
Ryan和James是正确的 – 正确的方法可能是在上传/转码时提取帧.但如果这不是一个选项,你可以选择使用你自己的某种默认/占位符图像(通用或某种方式适合所有尚未捕获其拇指的视频),并使用VideoDisplay的DisplayObject-ness抓取然后将帧上传到您的服务器,例如:
<mx:Script> <![CDATA[ var captured:Boolean; private function creationCompleteHandler(event:Event):void { videoDisplay.source = "http://yourserver/yourvideo.flv"; } private function videoDisplay_playheadUpdate(event:VideoEvent):void { if (!captured && videoDisplay.playheadTime >= 10) capture(); } private function capture():void { var bmpData:BitmapData = new BitmapData(videoDisplay.width,videoDisplay.height); bmpData.draw(videoDisplay); captured = true; // Now just upload the byte array to your server for the next user var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; // ... etc. } ]]> </mx:Script> <mx:VideoDisplay id="videoDisplay" playheadUpdate="videoDisplay_playheadUpdate(event)" /> 同样,它可能不是最优雅的解决方案,但它确实有效.这样,第一个用户看到通用图像,但此后每个用户都获得生成的缩略图. (当然,那时你会上传并正确关联.)有意义吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [当我在研究Cocos-2dx的源码时,我在想什么]-Ref类,一切
- Selenium+java - 日期控件的处理
- xcode – 如何在Swift中编写构建预执行脚本?
- 基于MTD的NANDFLASH设备驱动底层实现原理分析(五)
- c# – SmtpClient.Send不适用于linux环境
- iphone – 使用Xcode 4.2的Interface Builder中的UIApplica
- ruby-on-rails-3 – Rails3:避免使用Ancestry Gem选择n 1?
- ruby-on-rails – 如何将Karma与Rails资产管道集成?
- 學習 React.js:用 React.js 和 Flux 創建一個簡單的購物車
- plsql developer连接oracle--本地不安装oracle