此次通过使用开源的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相关推荐

  1. 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

    中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空 ...

  2. FFmpeg+SDL,如何用少于1000行代码编写视频播放器

    此文档翻译国外dranger教程: An ffmpeg and SDL Tutorial or How to Write a Video Player in Less Than 1000 Lines ...

  3. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  4. 22_Android中的本地音乐播放器和网络音乐播放器的编写,本地视频播放器和网络视频播放器,照相机案例,偷拍案例实现

    1 编写以下案例: 当点击了"播放"之后,在手机上的/mnt/sdcard2/natural.mp3就会播放. 2 编写布局文件activity_main.xml <Line ...

  5. 如何给一小段视频添加音乐

    最近很多人应该都在追知否知否,小编作为一个只爱看偶像剧和宫廷剧的代表,最后也被这剧吸引了,相较很多电视剧,它的时代背景有些不同,里面的大娘子可谓是整部剧的笑点,当我们看到搞笑的片段是不是都有想录制截取 ...

  6. 怎么将两段视频合并在一起?快速操作技巧

    怎么将两段视频合并在一起?很多小伙伴们在日常生活中拍摄了几段视频,那么我们在进行视频剪辑的时候,是需要将这几段视频合并到一起的.事实上这个操作也是我们视频剪辑最基础的操作,下面小编就来教大家具体的操作 ...

  7. ffmeg将多段视频合成一个视频

    ffmeg将多段视频合成一个视频 文章目录: 一.方法一:利用文件列表 二.方法二:不利用文件列表 三. 方法三:拼接不同编码格式的文件 四.注意事项 要处理多段视频太费劲啦,如果直接把多段小视频合成 ...

  8. java如何开发视频软件_使用JAVA编写视频播放器

    Java因其跨平台优势而陷入困境. 当时,我以为"写一次,到处跑". 这听起来不错,它应该是所有语言开发的最终方法. Java必将统治世界. 事实证明当时我还太小. 所谓的鱼和熊掌 ...

  9. 怎么一次性给多段视频制作画中画,并进行智能合并

    什么是画中画效果呢?大概就是一个视频播放时画面中还有一个小视频,那么这样的效果想要实现的话,其实也不难,下面随小编一起试试这个新技巧吧. 所需工具 一台电脑 多段视频素材 操作步骤 首先,我们在浏览器 ...

  10. 快速分割多段视频,并分离视频和音频

    一般在制作视频时选择媒体梦工厂,拥有视频合并,视频分割,画中画等等功能,视频分割上,可以分离视频中的音频吗?下面就一起来试试吧. 登录上媒体梦工厂,在"分割视频"功能上点" ...

最新文章

  1. 服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁...
  2. 【音频处理】Melodyne 自动修正功能 ( 修正音高中心 | 修正音高补偿 | 节拍自动修正 | 量化时间 )
  3. monkeyrunner自动登录脚本
  4. 【HDOJ】1196 Lowest Bit
  5. 41. First Missing Positive 缺失的第一个正数
  6. iframe内嵌框架自适应高度
  7. linux nfs系统客户端,Linux系统中挂载共享目录NFS文件系统客户端安装与配置
  8. 正则获取前8位数字_数据取整,获取字符串前数字另辟蹊径之LOOKUP
  9. .NET 对接JAVA 使用Modulus,Exponent RSA 加密
  10. ffdshow 源代码分析1 : 整体结构
  11. 在.NET 对XML的一些基本操作
  12. 数据结构——顺序表的C语言代码实现
  13. java 二叉树转数组_java二叉树怎么转成数组?java怎么实现二叉树?
  14. ubuntu 截图工具flameshot(火焰截图)
  15. NLP系列(10)_词向量之图解Word2vec
  16. GIS 地质灾害评价——易发性评价方法的选择
  17. 千岛湖-印象中的天堂游记
  18. 山西宗教文化漫谈(四)——云冈:东方艺术宝库
  19. 如何写/审AI领域的论文【VALSE Webinar】Panel实录
  20. Featured Domains

热门文章

  1. SPX Instant Screen Capture 7.0 汉化已授权版
  2. 网络空间安全——总结
  3. 数字电路技术基础-1-补码
  4. 数字电路技术可能出现的简答题_数字电路复习题一简答题
  5. 如何在android上编程,如何在Android中以编程方式与USSD对话框进行交互
  6. 如何做好公司固定资产管理?如何管理企业的固定资产
  7. 中大型企业的固定资产管理办法
  8. 电气技术应用和计算机应用,电气技术应用专业介绍 ppt课件.ppt
  9. smart原则_目标管理:OKR与SMART原则的异同
  10. 2022-2028年全球与中国硬盘驱动器存储模块行业深度分析