找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 8116|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

积分
2135
guojian123 发表于 2015-10-23 08:56:05 | 显示全部楼层 |阅读模式
; w& U& u5 L( n7 f$ ?
在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。# I: O* z/ r" `$ U( R
# \& W3 [  I% Z/ L

4 ]8 ~, x3 G  b& H* o3 G2 n5 k* z" c, P) M$ t. X/ T8 ?
首先了解一下音频的几种常见格式:4 s/ |* _# L% m* @

( ?' c4 R4 C; B/ k3 `mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  
- a8 J* _( l( w( ?( Y  }- G$ |wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  + k8 R, D* Z2 v# Y) B
wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  
2 r9 u1 o  O6 }6 c
8 c- }& i6 q; ^) y7 y5 [) S2 ?属性(采样频率):  
* B7 \( M% l- a/ m5 a/ g- J# E3 C7 ~& I5 V9 ~) ?( {
5KHZ:只适合于说话声音
3 z$ z" @$ N/ ~! [+ I11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质& D: B' D4 K. J% R( }
22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
; @4 H: p7 }2 }+ c7 ]0 }+ n' m44khz:理论上的CD音质界限。标准CD采样率  
% e, ]- G! r2 m4 X! p; N' o; F1 v7 c( o# _
采样位数:2 o: ^- t8 g& v* @- |: M  P! m
; W# p2 r+ V6 T7 f; j% o
如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  
# f6 J  Z& {( p. C. H4 W1 R6 C当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
- ~( ?, v6 w1 j确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  
6 P. r) U: p$ h* Q  |% u. j  {
, q, b* ?% G0 q再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质- T4 O. e) d& l  V0 M8 q0 T
要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  6 }7 s! ]4 O% Y+ \/ O5 N( i' ]; l
搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。
2 R; J- z: C  `5 a$ J; x! M) ?4 U" D8 l' v( e- d* ?- j+ X+ V
" q3 e+ f6 A% z* E
下面我们打开Goldwave软件~来看看如何操作  
6 o" T& [/ G/ h# ]: i* S: M8 J- B: x" A

8 N) V0 {( {. c# L, w2 n5 u8 c音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  % J+ ]+ [, Z3 k; c7 E8 c

4 \% w; E' Z" o6 ~$ G打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲$ L4 S( P$ u  b* a
解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。
$ n7 K5 i& C0 e1 Q: M' V1 ~在弹出菜单中,选择保存类型:MP3。$ r& P' g' g/ \7 e
打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
  w5 C$ \0 P* S检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。  e% t5 _$ q$ W# ^% {5 F
回到flash软件,导入mp3,正常导入并检查库中元件。
6 r$ F" Y' m/ U& P注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。5 u$ s! B& J& k  C& Y; y+ ~; o
打开库面板,选中元件鼠标右键,选择“导出设置”。
! a9 g( v' O0 O' l* L: O8 t7 _选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。% j" g$ a& r" Z+ e
再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。6 ^+ m9 T, |0 ~

" ]3 x3 b& d/ T( y, p7 {* ^3 f0 O0 |2 b7 f
歌词和音频的同步,用于swf中的字幕制作7 R- ^" y  I0 R5 M/ P8 ~) \

0 U! l/ P+ J2 C/ C打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。
( B% M+ U4 y; J  d/ F在时间轴上新建一个图层命名为“文本”。" m) ~* Z; B" G! ]; ]  S' e
使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
0 R" ^. b" ~1 i; f% {4 B在第1帧处插入如下代码,同时执行导入库中的音频文件:
5 L3 x- M% o& H. c0 d
7 o5 u# i. o$ G8 F- c1 u3 J' Y( ninc = 0;
3 Y# q$ s/ T5 i) t  Omusic = new Sound();
: F; K/ b; v" `2 omusic.attachSound("music"); " a2 j* G) ?8 t- Q- r7 J7 p. H
music.start(); " N" B) N- {. y3 V. z; `  _5 c  Q+ X

0 v2 K5 a/ k! ]; y0 q新建图层2,命名“as”层,第一帧处插入以下代码:/ I- ]. {3 G5 @& x) h1 T8 [
9 [: F6 m; c5 d5 }
stop(); ' Y4 P6 c5 k) F6 B" J6 y8 a5 j9 E4 b
this.onEnterFrame = function() { , k6 N0 m8 S1 s/ p+ `% M' `0 t4 z
  if (inc>10) { : q6 t: P- ~' N, ]
          gotoAndStop(1); ) e/ B, w% H6 S
  }
  X2 e; z: U+ Y5 B, @! Q  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5]; - t/ ~. o2 ~& K  J- L
  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"];
, K0 ^" l5 T) G+ q) A  if (getTimer()>labelTimeList[inc]*1000) {
3 [2 E2 n7 q3 L& |   x = musictext[inc]; 5 t) [& f$ a8 O- C0 S- e
   inc == inc++;
$ q1 s# c+ c& q  } 7 \. ^) L3 Q1 S. m8 a
};   o7 P  |! N) U% E/ @1 H' R$ l
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数: s/ m0 e  e' P+ s! \/ q
  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc! d0 M. z9 s. O9 K' ~, S
      x = musictext[inc]; * e% J6 E3 J9 v
      inc == inc++;
4 w* V" p( O4 `; ^! A, z  }
6 }2 L* _, b! r0 v5 o};
+ `6 V, M0 r6 N) ^  X4 j% I" flabelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间, l& ^# ?4 E" ^0 F
/ Z1 ~& W/ D7 p- \
Ctrl+Enter回车测试效果。* p1 V  O( B9 L' I- ]: S% C0 N* a

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 05:57 , Processed in 0.149762 second(s), 10 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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