找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 9021|回复: 0

[音频应用] Flash中"一个文件或多个文件无法导入"音频问题及同步歌词的方法

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

积分
2135
guojian123 发表于 2015-10-23 08:56:05 | 显示全部楼层 |阅读模式
% {" X0 j( P% X0 m2 J
在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。
. r7 d# b0 ^1 J$ e7 B+ `& c( M# ~& g" q* [% [* w( ?. [

; c! A1 q2 {" n- p3 [6 d; H' g7 s& z1 Y. y. s: g. E; K
首先了解一下音频的几种常见格式:
! L- J6 Z& L1 P& ?5 L
0 b5 G/ Q6 _& t+ e5 Dmp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  0 T& J, f  G  U; _" C# C
wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  
( @9 o/ L( j& d# K1 E6 [wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  
4 H$ v7 P  m) c0 {
6 j: k; n0 ~+ J属性(采样频率):  
: s& R' \) J& R7 U8 @! q+ v+ h( h
1 _5 p0 s3 S! |/ C4 f( v5KHZ:只适合于说话声音" k- V# _6 Y  i% h9 I1 {% p
11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质: r5 {6 L8 h( P: c3 r6 b, z
22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
( V) b$ L( @; Z7 U+ b9 E44khz:理论上的CD音质界限。标准CD采样率  8 D8 O2 L: p, _9 o6 O; i
0 }# _& L: M1 L& u) T
采样位数:% K* Z% R4 N4 q. S3 n$ S) \- e3 k  e
; c+ u- E$ N: v4 Z2 X5 X
如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  
8 b) c, ]6 T# B8 b" {/ S当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。2 l  Z5 h' x0 ]
确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  
* P3 i, B$ O% F6 d
5 w( \1 V" h" t5 P' q再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质7 e! Z& m2 U7 V% s# v
要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  
/ ~* K; G+ C5 e' H' z- L# b搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。
) u& s+ M( S4 f( q+ j4 U# ]" b; M/ ]4 i7 }, V% e

# f$ e  e. _; P1 o5 r下面我们打开Goldwave软件~来看看如何操作  ! [) T1 Q( _$ W+ ^

  t% R1 _6 X: N9 g" n
6 Z" T4 c$ U  a: q音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  
+ y% J' ^! [2 m) x2 V' ?. y- v# f" I
打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲
' p3 W8 G$ g) t$ D解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。
1 [* d' b+ w. ?, s在弹出菜单中,选择保存类型:MP3。0 F+ V4 U5 `1 d, C0 O
打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
" }9 T& E& Q5 [2 {* \检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。
% W; X1 l* e5 G7 M2 b7 O回到flash软件,导入mp3,正常导入并检查库中元件。
: |: Y. ~6 P% Z  g5 l/ ?4 ^* i注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。
* D5 w8 ~  |  H( @: r9 h- U打开库面板,选中元件鼠标右键,选择“导出设置”。$ i( V# h/ B. Z6 }: h5 a
选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。1 {) c9 [* ^" F/ ]% h) h
再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。
" j4 |8 u9 ^6 U+ R9 [" Y8 a) t/ P5 N. ]. e2 Z

- u# u& L$ Q7 h) |歌词和音频的同步,用于swf中的字幕制作; Z7 J+ [; N7 g

& L5 M6 L/ ?) w) |5 Y3 T4 Y( ]& R打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。
) [% Y- j- Y2 Y在时间轴上新建一个图层命名为“文本”。; Q7 o: _" m4 e. m: k+ J0 {
使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
$ b% V3 @1 W0 t- ~' W在第1帧处插入如下代码,同时执行导入库中的音频文件:
  q3 m4 }( Y: D2 v' N
* K" W1 M! Q9 }! X/ M  V2 oinc = 0; : U$ t0 s" U& Q! G! _& N& u
music = new Sound();
8 F" V7 ]0 C  o; W6 S: amusic.attachSound("music"); 2 z  R& T: y9 y- ?. i6 A
music.start();
& s- w; @. j; x- r/ b3 }, [9 N
) V- s0 b' p" _3 v" L+ f; L* ~8 [4 J  I' v新建图层2,命名“as”层,第一帧处插入以下代码:
; s6 }% T* ?- G( l2 h9 X/ s5 I. }& m" i2 v7 l* I/ b
stop(); 3 d# E' a  a4 T9 l# s, ~6 R
this.onEnterFrame = function() {
  a! |& s8 A- C) ?! Y  if (inc>10) { % k, Q9 a" h' G9 x1 \3 g
          gotoAndStop(1);
4 _- p6 L! B. E. i( K; }3 L  } ! L/ l/ p$ X& l9 h5 D7 |* T
  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5];
+ g/ _4 l8 G  R7 J6 T( J5 a  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"]; 4 t4 E$ ?' f3 S7 v$ W0 C9 E" q8 h& W
  if (getTimer()>labelTimeList[inc]*1000) { 2 r/ k9 \; }, p! j9 g
   x = musictext[inc]; - C6 X6 B" V+ C& G! H2 Q( j
   inc == inc++;
- i- }7 J. m# p0 o& ]+ u! u; D8 V  }
7 L2 A- ^1 f0 V2 C; l}; : G* v# G# K/ U+ {
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数6 \6 W: X2 x# C9 j0 e. k+ l9 Y
  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc* g& H0 R8 E. g* N* W/ X: g* }4 z
      x = musictext[inc];
# U0 s; \0 T# e, k      inc == inc++;
- t! y: e9 [" n! x' j  } # h4 S/ m2 z' |8 `- f! q. Q! o- r
};0 _. f* Z( B* \( o' X& j1 v) ^* n
labelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间. R/ k' z8 _/ p% z
/ N! Z/ c1 t& S/ ?; A0 [
Ctrl+Enter回车测试效果。, k9 x4 B/ g: ]7 J# H& o) U

相关帖子

音频应用店铺 音乐发布 中国原创歌词网
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

小黑屋|手机版|音频应用|歌词网|投稿|中国原创歌词基地 ( 鄂ICP备13005321号-1 )

GMT+8, 2025-6-11 19:19 , Processed in 0.123321 second(s), 9 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

快速回复 返回顶部 返回列表