用AS3编写的具有将多段视频连起来播放的 flash视频播放器---003
此次通过使用开源的flash视频播放器源码来实现视频连起来的效果,先引用一下该开源项目描述:
f4Player是一个开源的Flash视频播放器,可以播放.fly、.f4v和.mp4等文件。整个播放器只有8kb左右,拥有一个可更换皮肤的界面。支持边播放,边下载和全屏播放。
它的地址是:这里
下载地址是:这里
最新版本:这里
现在时间已经很晚了,仅仅总结一下视频连接起来播放效果的一个需要计算的地方,算法比较简单,仅仅是个高中生的知识:
画个图总结一下:
【图1】
首先介绍一下目的:
看图1,用来表示由三段视频组成的整体视频,三段视频的结束的时间位置分别为:L0,L1,L2,而三段视频的时间也就是L0 , L1-L0 , L2-L1,X1是相对于最左边的起始点的位置,而不是相对于第二段视频起始点的位置,当前视频播放到了X2位置,此时我想点击X1使它播放X1相对于第二段视频的位置的视频,怎么办?
由于使用的事件中,
var playingBarEvent:Function = function(e:MouseEvent):void
{var point:Number = e.localX * info.playing;
....................
只有e.localX 是用来描述点击的位置,那么先介绍一下它表示的是什么:
e.localX 表示在已经播放的长度为X2的视频中,X1所占的比例,也就是e.localX = X1 / X2。而想要得到相对于整体的X1,对应的相对于第二段视频的起始点位置Y,怎么求?
在Player中有个函数:
private function Info():Object {var playing:Number = ( ns.time / duration ).toFixed(2);return {'width': videoWidth,'height': videoHeight,'total': ns.bytesTotal,'loaded': ns.bytesLoaded,'progress': ( ns.bytesLoaded / ns.bytesTotal ).toFixed(2),'duration': duration,'time': ns.time,'playing': ( playing > 1 ? 1 : playing ),'status': status};
简单点描述是:
playing= ( ns.time / duration );
等价于:playing = (X2 - L0 ) /(L1 - L0)
进而得到:
X2 = playing *(L1 - L0) + L0
而由e.localX = X1 / X2得到:
X1 = e.localX * X2 = e.localX *( playing *(L1 - L0) + L0)
本源码中还有个百分比,所以加上后就是:
X1 = e.localX *( playing *(L1 - L0) + L0) / 100;
那么
Y = X1 - L0 = e.localX *( playing *(L1 - L0) + L0) /100- L0
这样想要点击X1点达到点击第二段视频对应点的效果就可以:
var seekpoint:Number = e.localX*(info.playing*videotimes[_videoCurrentIndex]+_videoCurrentStartTime)/100;//**********************
控制事件为:
player.Seek(seekpoint);
用AS3编写的具有将多段视频连起来播放的 flash视频播放器---003相关推荐
- 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空 ...
- FFmpeg+SDL,如何用少于1000行代码编写视频播放器
此文档翻译国外dranger教程: An ffmpeg and SDL Tutorial or How to Write a Video Player in Less Than 1000 Lines ...
- 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源
我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...
- 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现
1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...
- 如何给一小段视频添加音乐
最近很多人应该都在追知否知否,小编作为一个只爱看偶像剧和宫廷剧的代表,最后也被这剧吸引了,相较很多电视剧,它的时代背景有些不同,里面的大娘子可谓是整部剧的笑点,当我们看到搞笑的片段是不是都有想录制截取 ...
- 怎么将两段视频合并在一起?快速操作技巧
怎么将两段视频合并在一起?很多小伙伴们在日常生活中拍摄了几段视频,那么我们在进行视频剪辑的时候,是需要将这几段视频合并到一起的.事实上这个操作也是我们视频剪辑最基础的操作,下面小编就来教大家具体的操作 ...
- ffmeg将多段视频合成一个视频
ffmeg将多段视频合成一个视频 文章目录: 一.方法一:利用文件列表 二.方法二:不利用文件列表 三. 方法三:拼接不同编码格式的文件 四.注意事项 要处理多段视频太费劲啦,如果直接把多段小视频合成 ...
- java如何开发视频软件_使用JAVA编写视频播放器
Java因其跨平台优势而陷入困境. 当时,我以为"写一次,到处跑". 这听起来不错,它应该是所有语言开发的最终方法. Java必将统治世界. 事实证明当时我还太小. 所谓的鱼和熊掌 ...
- 怎么一次性给多段视频制作画中画,并进行智能合并
什么是画中画效果呢?大概就是一个视频播放时画面中还有一个小视频,那么这样的效果想要实现的话,其实也不难,下面随小编一起试试这个新技巧吧. 所需工具 一台电脑 多段视频素材 操作步骤 首先,我们在浏览器 ...
- 快速分割多段视频,并分离视频和音频
一般在制作视频时选择媒体梦工厂,拥有视频合并,视频分割,画中画等等功能,视频分割上,可以分离视频中的音频吗?下面就一起来试试吧. 登录上媒体梦工厂,在"分割视频"功能上点" ...
最新文章
- 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁...
- 【音频处理】Melodyne 自动修正功能 ( 修正音高中心 | 修正音高补偿 | 节拍自动修正 | 量化时间 )
- monkeyrunner自动登录脚本
- 【HDOJ】1196 Lowest Bit
- 41. First Missing Positive 缺失的第一个正数
- iframe内嵌框架自适应高度
- linux nfs系统客户端,Linux系统中挂载共享目录NFS文件系统客户端安装与配置
- 正则获取前8位数字_数据取整,获取字符串前数字另辟蹊径之LOOKUP
- .NET 对接JAVA 使用Modulus,Exponent RSA 加密
- ffdshow 源代码分析1 : 整体结构
- 在.NET 对XML的一些基本操作
- 数据结构——顺序表的C语言代码实现
- java 二叉树转数组_java二叉树怎么转成数组?java怎么实现二叉树?
- ubuntu 截图工具flameshot(火焰截图)
- NLP系列(10)_词向量之图解Word2vec
- GIS 地质灾害评价——易发性评价方法的选择
- 千岛湖-印象中的天堂游记
- 山西宗教文化漫谈(四)——云冈:东方艺术宝库
- 如何写/审AI领域的论文【VALSE Webinar】Panel实录
- Featured Domains
热门文章
- SPX Instant Screen Capture 7.0 汉化已授权版
- 网络空间安全——总结
- 数字电路技术基础-1-补码
- 数字电路技术可能出现的简答题_数字电路复习题一简答题
- 如何在android上编程,如何在Android中以编程方式与USSD对话框进行交互
- 如何做好公司固定资产管理?如何管理企业的固定资产
- 中大型企业的固定资产管理办法
- 电气技术应用和计算机应用,电气技术应用专业介绍 ppt课件.ppt
- smart原则_目标管理:OKR与SMART原则的异同
- 2022-2028年全球与中国硬盘驱动器存储模块行业深度分析