找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 9997|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

积分
2135
guojian123 发表于 2015-10-23 08:56:05 | 显示全部楼层 |阅读模式
4 S4 I! \  D$ {/ P& q7 n0 `+ d4 K8 E
在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。5 U' V# l4 r- \) B7 E2 S

+ P8 ^3 A& c& u! O1 X3 m& m
8 {) [' _8 J0 X! C" Y; w0 [" N0 \( h- E. Y  d$ r: J/ ?, N, w
首先了解一下音频的几种常见格式:
8 Q& e, M1 H; D1 s6 s
! w3 F1 U; |, Xmp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  ) S8 y- j% T+ C% j* y
wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  & T+ |  r2 T: m  e
wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  7 e( U7 \+ H/ l7 U
  J. A8 ~3 L4 |2 M
属性(采样频率):  
' L( j9 j3 i7 e3 c" _# u4 ~$ D% a( b0 b0 ]# o$ K
5KHZ:只适合于说话声音+ {% B. H6 U( E! |# ~
11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质
+ r; U9 s. X, U22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择4 o9 m5 n6 p( p9 T
44khz:理论上的CD音质界限。标准CD采样率  
# x; t% t5 u# ]) H8 t8 I5 w' Q$ O' i/ b( v
采样位数:0 {% h0 {+ y, B7 i7 g

  h( F% x6 d, @# P如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  
5 e2 S' s2 n0 U' S当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
* y0 e: Z# p) c# K2 c1 o3 ]( F确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  + A  q% k3 |/ `2 c# W/ l( R
5 x9 K* H: G- ~% y' w+ o
再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质
' Q: q1 A/ A' w( b8 `要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  
9 N# o4 b7 l& y  x2 t搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。! ^- m! |4 m& k& Q6 F1 z( u

' m* S) n$ ]7 b/ J# t7 {& Q
- a( b3 P; c+ O* c下面我们打开Goldwave软件~来看看如何操作  8 }, e0 v; e- N

5 D7 q4 r4 i: w( L& J
5 D* H; h- \+ @8 l, Y: [( X音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  
0 x5 k' R2 _0 n' [9 N8 x/ w$ V( m/ M8 g  K" u( x
打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲6 u7 t; G" x4 P# V0 K0 ?3 A
解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。" b0 D$ t. Y1 j. x1 _7 M
在弹出菜单中,选择保存类型:MP3。
5 }0 j6 c+ ?/ {9 m打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
6 Q; V& a8 a1 N( p# A- b检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。0 l1 |; }2 Y6 U8 |% H3 X( Z
回到flash软件,导入mp3,正常导入并检查库中元件。# @4 q2 W+ y! K+ ?8 S: H
注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。# T; r4 W1 ^; Z2 h9 p6 n+ p2 ~
打开库面板,选中元件鼠标右键,选择“导出设置”。
, V$ T* F& e3 c2 O. d" w% R  ?选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。3 l* }3 H' z! ^+ K& x) L% }5 X7 ?/ O
再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。5 ~( n5 ?& v2 I7 W9 t
* c! q9 u/ c" t3 W/ K

4 C+ ~: e1 W4 O歌词和音频的同步,用于swf中的字幕制作3 ^; i& r0 ], |2 q9 I1 g

' ^/ l- I* C; N1 i, @! d; n打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。+ i& ]& b8 O: a
在时间轴上新建一个图层命名为“文本”。* A6 F  N+ H4 j
使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
/ F: d. r3 h0 R7 D在第1帧处插入如下代码,同时执行导入库中的音频文件:
0 i' C" y# ?+ A7 e7 \# c$ d) W" Q4 b) X: G: d
inc = 0; % S) |2 v' a9 r1 n
music = new Sound();
/ g3 R9 F, b/ n4 h& R" @+ g) ymusic.attachSound("music");
- b4 H" ~3 x) h+ kmusic.start();
- N2 T5 o9 f; g, d8 u
  x* `2 a3 E! K) N, N7 i新建图层2,命名“as”层,第一帧处插入以下代码:
% I. L" E1 ?1 h2 S
7 Z0 k4 X" S# `9 Rstop(); * c3 D! t# J: j- d9 k: L) r* H/ I
this.onEnterFrame = function() {
' C( ^8 @5 x2 ?6 m7 b8 c  if (inc>10) {
7 [+ \8 y8 e/ O5 Q( j/ N) o5 \          gotoAndStop(1);
, }3 B3 ^9 ]' C9 w6 b2 C* N  }
0 @& S* x5 }* T+ a( }  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5];
, M+ Y2 L& z; [  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"]; 8 S) j$ ^; [( j  q7 ^9 R
  if (getTimer()>labelTimeList[inc]*1000) {
9 K9 ]6 ^( A9 h# j   x = musictext[inc]; ; k( m: m6 D& K6 o0 A
   inc == inc++;
# T+ e( C; _6 j% c: ?  g  } 8 E: f. s3 x6 v  h
}; 2 f- f9 E2 E: v' ~
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数
0 @/ o5 F5 z$ x  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc
" a% i* l) Y& C      x = musictext[inc]; , G; P7 Q5 M  Z+ G! Q* t
      inc == inc++;
8 K4 q$ U* n0 g" J6 n6 y# L  } ! c- z" a; G( h( h% e; R# Q& d9 [* R
};9 b! _2 j- N8 a( e8 a
labelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间; h+ r8 |( T! e, a8 z0 l

# S. J7 A& c. s4 V! KCtrl+Enter回车测试效果。3 A& S% D7 @6 `' a% m5 k+ }/ D

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-4 12:56 , Processed in 0.096730 second(s), 7 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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