flash声音与歌词同步的三种方法

   方法一

  ·导入一个声音文件,建立一个声音层,在声音层的第一帧处打开声音面板,选择需要使用的声音文件,设置声音同步属性为数据流,循环次数为0

  ·估计声音层所用的帧数,帧数=播放时间*帧频。大家再看右图的最下面,其中“16.8 s”表示这段音乐的播放时间为16.8秒。如果你的帧频为12fps,那么总帧数应该为200帧左右。

  ·在适当位置按F5插入一个空白关键帧。拖动声音层的最后一帧(相对的)直到有空白帧出现,单击选择声音的最后一帧,再向右拖动鼠标选择所有的空白帧,然后单击右键,点击清除帧。

  ·建立一个文本动画层,按回车键播放声音,由于声音是数据流形式,你可以参照声音在该层上添歌词。

  方法二

  ·第一步,同方法一,只是声音同步属性为默认的事件同步。

  · 建立一个文字动画层,对照声音的波形,在声音的波谷处添上相应的歌词。通常情况下,我们在时间线面板上看到的波形很不明显,无法确定波谷。别着急,点击图(3)的编辑按钮。这里我们不是编辑声音,而是观察波形。默认状态下,在声音编辑面板看到的波形与在时 间线面板上看到的一样。 点击面板下方图(3)所示的缩小按钮,缩小波形图,我们可以看到图(4)所示的波形图,红线所处的地方均是波谷,第一个波谷很明显在第一帧。

  ·波形图的标尺默认的是以时间秒为单位,得使用“帧数=播放时间*帧频”来计算。为了方便,我们设置帧为标尺单位,点击图(3)第四个按钮就行了。可以发现第二个波谷应在第80左右。如果要求精确,,点击扩大按钮,就可以准确知道该是第几帧了。

  ·在第一帧添第一句歌词,在第二个波谷所在帧的下一帧开始添第二句歌词,其它依次类推。

  方法三

  ·导入一个声音文件,建立一个文本动画层,接着写进歌词,每一帧对应一句歌词。

  ·新建一个空白角本电影夹。

  ·建立一个角本层。在第一帧拖入空白角本电影夹,并加入帧角本stop

  ·在图库面板中右键点击我们要使用的声音文件,从弹出菜单中选择连接,选择链接选项中“为动作脚本导出”和“在第一帧导出”,然后就在标识符输入框中键入myMusic,从而关联这个声音。

  ·选择空白角本电影夹,写入如下代码:

  onClipEvent (load) {      //一下载电影夹就触发事件

  music = new Sound();     //自定义一个“music”声音对象

  music.attachSound("myMusic"); //捆绑声音,myMusic为被关联声音的ID

  music.start();        // 播放声音

  inc = 0;           // 定义变量,赋予初值

  timerStart = getTimer();   // 定义刚开始播放声音的时间与现在的时间的时间相等。

  labelTimeList = [4, 8, 11, 15];

  // 自定义一个数组来设定每句歌词出现的时间(单位为秒),可用Media Player来获取每一  元素的值。

  }

  onClipEvent (enterFrame) {  //只要电影夹存在就触发事件

  if (getTimer()-timerStart>labelTimeList[inc]*1000) {

  //读取现在的时间,与刚开始的时间做比较,如果大于所设定的时间,

  则跳到下一帧,即为播放下一句歌词

  inc == inc++;

  _root.nextFrame();

  }

  }

  ·回车你就可以到成果了。

时间: 2024-11-11 21:28:20

flash声音与歌词同步的三种方法的相关文章

Flash中实现物体运动的三种方法

现在用Flash开发的游戏是越来越多了.很多朋友也很想学习用Flash制作游戏的方法.大家知道,不管在什么游戏中,实现物体的运动是游戏的前提,而不同的游戏里物体移动的方式又不尽相同.所以,想学习制作Flash游戏的朋友今天就先随我一起学学在Flash中实现物体运动的几种方法吧.几种方法如下: 方法一:通过单击按钮实现物体的单位运动 这种方法一般在需要按键的游戏中使用.你也可以给某个实体加上这段代码,然后通过单击这个实体达到某种游戏效果. 1.打开Flash,按快捷键"Ctrl + M"

实现Flash动画文件全屏效果的三种方法

flash动画 实现Flash动画文件全屏效果的三种方法 第一种方法: 不显示浏览器菜单栏.工具栏的全屏.这种全屏稍稍复杂,也与FLASH的设置无关,但要借助JavaScript来完成.方法是:在HTML文件中<head></head>间加入以下代码: <script language="JavaScript"> <!-- window.open("nfd.swf","","fullscreen

Flash MX本地保存数据的二种方法

数据 谈到计算机操作,往往就不了数据操作,最基本的数据操作就是读取和保存数据.Flash程序很多时候也会用到数据操作,比如说载入外部文件就是读取数据.然而Flash保存数据的能力是很有限的.Flash 5时我们还可以用fscommond来本地保存外部文本文件,到了FlashMX时代,出于对安全因素的考虑,Micromedia取消了这个功能. 那是不是我们就无法用Flash MX保存数据了呢?回答是否定的,这里我就系统给大家介绍用Flash MX本地保存外部数据的三种方法. 方法一:使用MMsav

在IOS中为什么使用多线程及多线程实现的三种方法_IOS

多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径. 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的. 然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务. 概要提示: iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhone OS下的主线程的堆栈大小是1M,第二个线程开始就是512KB,并且该值不能通过编译器开关或线程API函数来更改,只有主线程有直接修改UI

iOS开发定时器的三种方法分享_IOS

前言 在开发中,很多时候我们需要用到定时器实时刷新某个数值.这个时候我们就需要用到定时器,这里,我为大家推荐三种方法,分别是:NSTimer.CADisplayLink.GCD.接下来我就一一介绍它们的用法.希望能帮到大家. 一.NSTimer(一般用于定时的更新一些非界面上的数据) 1. 创建方法 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:

SimpleDateFormat线程不安全性的三种方法解决

在java项目中,我们通常会自己写一个dateutil类,处理日期和字符串的转换.如下   public class dateutil{ private static simpledateformat sdf = new simpledateformat("yyyymmdd"); public static formatdatetoyyyymmddstr(date date){ return sdf.format(date); } public static formatyyyymmd

Word中输入立方米符号的三种方法

  Word中输入立方米符号的三种方法         Word中输入立方米符号方法一:输入法输入 其实现在有些输入法中集成了很多特殊符号,例如搜狗拼音中就有立方米符号,我们只需要打出立方米的拼音,就会出现一个立方米符号的选项. Word中输入立方米符号方法二:利用制作上标的方法 用制作上标的方法可以做出立方米符号的效果,但这种方法其实还可以细分为几种不同的操作,下面一一进行介绍. 一.在Word文档中输入3,然后将其选中,切换到"开始"选项卡,单击"上标"按钮即可

PHP遍历数组的三种方法及效率对比分析

 这篇文章主要介绍了PHP遍历数组的三种方法及效率对比,实例分析了foreach.while与for三种遍历数组的方法与相关的效率比对,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例分析了PHP遍历数组的三种方法及效率对比.分享给大家供大家参考.具体分析如下: 今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出 第一.foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. ? 1 2 3 4 5 6

将PPT列表文字变图形的三种方法

  有时候,我们需要将PPT中的文字变成图形的形式,通常我们会以点符列表来进行格式化.现在,对于这些昔日的作品与文件,您只要通过PowerPoint 2007 全新的自动化转换工具就能轻松完成了. 您有多种操作方式可以将条列式文字变成动人的图形. 方法一:只要单击幻灯片上既有的点符列表文本框后,在画面上方功能区里的"段落"选项组中,单击"转换为 SmartArt 图形"按钮,即可从其下拉清单中挑选所要套用的图形. 套用样式 此时,原本平凡的列表式文字输入,通过&qu