找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 9400|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

积分
2135
guojian123 发表于 2015-10-23 08:56:05 | 显示全部楼层 |阅读模式

0 _# ?; \. v5 z$ K9 F2 S/ ]在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。$ t' A6 T5 J) L
+ x7 m7 [, o: N- z

& h% z% _5 Q) f& e' n
  _6 m* E) L1 v: ]' j- b& q首先了解一下音频的几种常见格式:
% c' ~/ T2 T6 F0 g# ?6 r& R7 z$ a2 U/ D+ p" ]
mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  
' p  K& g+ p! U: C" Q( G6 }wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。    k9 B& f  z' q' o
wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  7 Q# S0 ]( S2 r- n
& o5 b, u6 ?. I* Z. c. e5 b: R
属性(采样频率):  
% R. ^! e' ~: Y) {5 j! _3 G3 C) X9 h0 \7 z0 }+ U. @6 `1 {7 z
5KHZ:只适合于说话声音7 y# V- `% k7 s8 k
11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质
7 {6 K0 J* f2 }& V9 _22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
& h* U& Q  {) }  Z- s! D2 m5 w44khz:理论上的CD音质界限。标准CD采样率  9 P0 y& r" x: |( k) ^

% N! R/ j" E4 l采样位数:
7 p/ J( d) N1 \3 k: t% p5 }& r& s; z  \& V( f: F
如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  
; g( Y$ }3 h+ E当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
6 h) k0 G( X$ l7 E/ ^3 ?/ O! P确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  " x6 W/ ^2 U3 z6 T5 b

( r' N1 P" C" X% \. K再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质2 u  k$ E8 A6 m; v1 L$ i
要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  . O" V9 m3 ]( f
搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。/ V, i7 \6 K3 }1 ~1 g( ^

  U2 I" e( H9 V
# R& m" l" f! a9 s' k下面我们打开Goldwave软件~来看看如何操作  6 Q  c. k7 ^  w* v+ W8 Q" P
' C+ K8 Y0 f/ D7 @6 T( R+ J3 w
+ d! Z. t3 f4 i1 ?1 j/ O
音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  
9 ~2 I' d7 p/ q: m; j4 h6 U' b  p- ]: }( O8 Q3 V8 T
打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲( t# K8 Z- ]) Y- u# G( ^$ G
解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。
4 X+ _% N( \% h' u( @  D在弹出菜单中,选择保存类型:MP3。2 R0 Q( X" F  X9 d& f/ M
打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
  ~0 ]3 t% Y) ?% V1 _0 N" b  X- q检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。
: S! P# `( L" M4 b* D% V/ h回到flash软件,导入mp3,正常导入并检查库中元件。
: ~3 j; n' |" U: ^6 x/ \注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。1 w* C- ?1 }& n) l0 F
打开库面板,选中元件鼠标右键,选择“导出设置”。
6 v+ ^) V2 B1 a4 _6 ~. K- A8 O选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。3 n3 ^2 I9 y$ P# R5 J
再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。
9 ~5 ?; Q; _! g1 ]1 C/ O, c' |( H' |! }
$ W. ]' t  ~8 u6 i
歌词和音频的同步,用于swf中的字幕制作* Q9 B! b; n2 f  j

+ E. N) R' P/ y& t打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。
0 t4 Q' D) t; Q在时间轴上新建一个图层命名为“文本”。
( o& J, I8 G0 w0 E使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
9 e/ `" \. V) C% j在第1帧处插入如下代码,同时执行导入库中的音频文件:
. U) A$ n) Q$ M8 u: n. n9 r% \9 F" R0 G+ b3 y* c' c9 v1 H/ D+ o
inc = 0;
$ ]) p$ v% \1 E* Y1 |; [  L; L# T& pmusic = new Sound();
% e$ |0 j; e. W. Bmusic.attachSound("music"); " `+ H. S% y; ~* W% Q6 O# E  ^
music.start();
* |; J% U: Q& I# D; l3 D0 x0 ]# T. G( F4 N8 t  ?
新建图层2,命名“as”层,第一帧处插入以下代码:
& i" x3 y7 q, u  K  m' W1 [
: w. V* @6 U8 V/ F  g) C6 q+ I' ^stop(); . Q: S. Y# ~; b9 Y3 g5 {$ u# b: l( q3 r
this.onEnterFrame = function() {
% t! E" r" Q+ d, _  if (inc>10) { / t/ W% b& d) T# M; B
          gotoAndStop(1);
& C- _0 X/ Z+ n& C  }
6 Y% w1 {5 r2 f# o  @3 P3 ]2 [1 ?- ]. g  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5]; : B4 C. g' N! D4 \/ |) V% e  [4 M/ i- q! S
  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"]; ) s6 F, s  e4 D8 c0 Q+ |4 ~- V$ u8 }
  if (getTimer()>labelTimeList[inc]*1000) {
: L* ~' T/ g: }0 c/ g1 y   x = musictext[inc]; ! u' F; K9 u* p) _$ U
   inc == inc++;
* k+ c7 ~: S- |  }
2 L3 E* R9 H$ ~5 ^}; " I( F# }4 L+ y& Q
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数
" S8 W" q' _; ~# p% B+ h  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc" G; x0 V6 i" s8 R7 c) R
      x = musictext[inc]; 2 K/ ~% ?/ x7 G7 Z
      inc == inc++;
7 K6 ^$ Z' d- s1 t1 A6 x0 O6 b% P- }; {/ U  } $ J" D. r- y8 g4 _
};
/ Z3 C5 `# v4 \; Z# J, o; dlabelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间
5 Y  z& x; l/ X
/ ^. W' L) g; F) {+ [! xCtrl+Enter回车测试效果。
1 N6 E- Y1 b0 {

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-18 00:36 , Processed in 0.117520 second(s), 7 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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