Flash中MP3导入及同步歌词的方法

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:12:48
了解音乐的几种常见格式:
1、mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失非常小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。
2. wma(windows media audio):是微软在互连网音频、视频领域的力作。常常用于在线收听和广播的最佳选择,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般能达到1:18。
3. wav 也叫一种波形声音文件格式,是最早的数字音频格式,被视窗系统 平台及其应用程式广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 相同,对存储空间需求太大不便于交流和传播。
属性(采样频率):
1、5KHZ:只适合于说话声音
2、11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质
3、22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
4、44khz:理论上的CD音质界限。标准CD采样率
采样位数:
如:一段相同的音乐信息,16位声卡能把他分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。
当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
了解goldwave软件

类似于音乐编辑软件更有coolper2及其他。在接触的2款软件中,goldwave相当小巧,界面友好,当然最重要的是易上手性和操作性。

确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:
1、再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质
我们要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对MV是非常有益处的。
2、搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。
当然以上只是在处理音乐时的2点心得体会~他告诉我们遇见事情多想想办法解决,对于从事flash、或设计的成员来说,思维的活跃往往能带给我们更大的收获!不仅仅只是个解决MP3的办法
下面我们打开Goldwave软件~来看看怎么操作
音乐无法导入的问题主要是所导入MP3音乐和flash所需求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改动。
01、打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲

02、解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”
当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。

03、在弹出菜单中,选择保存类型:MP3。打开属性菜单

04、选择各属性并修改
采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音

05、检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰

那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。
当然你也能保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行:)
我们选择较好音质同时体积不大,这也是我们结合flash对音乐的需求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是我们要考虑的。
06、回到flash软件,导入mp3,正常导入并检查库中元件

flash的声音属性设置。这儿让我感觉有点抠,每一个能减肥环节都不要放过,当然也是玩笑话了:)
07、打开库面板,选中元件鼠标右键,选择“导出设置”

08、选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置

09、再选择“输出”--声音设置,进行修改设置

查看swf文件已降至1.33m,当然还能降到更低,16KPS时为800K,但这时音质无法确保~因此提倡合理、适当分配音乐质量及体积大小
下面我们再来制作歌词和音乐的同步~
歌词同步,更多用于swf中的字幕制作。先来看看歌词、音乐同步
01、点击音乐文件,鼠标右键选择“链接属性”,修改标识符“music”如下图

02、新建图层命名为“文本”

03、输入第一句歌词,打开属性面板并修改文本属性为“动态”,自变量为“x”

在第1帧处插入如下代码:
inc = 0;
music = new Sound();
music.attachSound("music");
music.start();
执行导入库中的声音文件
04、新建图层2,命名“as”层,第一帧处插入以下代码:
stop();
this.onEnterFrame = function() {
if (inc>10) {
gotoAndStop(1);
}
labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5];
musictext = ["这样的空气让人心收不下", "风吹的树叶轻轻沙沙的响", "象你眼底跳动的迷人火花", "多少种快乐悲伤我们一起分享", "拥抱彼此灿烂的梦想"];
if (getTimer()>labelTimeList[inc]*1000) {
x = musictext[inc];
inc == inc++;
}
};
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数
if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc
x = musictext[inc];
inc == inc++;
}
};
labelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间
05、Ctrl+Enter回车测试。