找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 9813|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

积分
2135
guojian123 发表于 2015-10-23 08:56:05 | 显示全部楼层 |阅读模式
( C' f6 w0 s# S( _8 e) d$ [
在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。
' o9 l  K$ v( a4 D& F4 o! A* }/ }) a4 U7 g, E/ E

: @4 U: u  O8 j4 j: C5 _3 \$ @
首先了解一下音频的几种常见格式:
3 s+ H; z) D$ L& w; t, O2 T7 W! t4 `1 y5 w( ^
mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  4 ^; I, N) W3 h
wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  & p/ o& [$ f; B% u. A
wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  
% m( a* ~" y$ L$ X' g
6 s/ \9 k- W9 Z0 x6 N; r2 ^2 r属性(采样频率):  9 `7 `8 h6 O4 x1 u" \% K$ V
2 i; D2 ?. u8 f! ^
5KHZ:只适合于说话声音
9 u9 f: p9 H' Y- I11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质. ]( p2 l  O8 `2 m& V0 ?/ f
22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择. `* Y4 r# ]! v0 z1 _! d
44khz:理论上的CD音质界限。标准CD采样率  
, y* x/ {! d6 f6 K. R8 U
# [* E* q) G' B: c4 }! y% W3 I采样位数:" C7 I6 Y) J! ?0 R
2 k+ g7 a' B' A
如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  
6 _5 {# _' b% Q; F/ A! A' p0 B当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。; F; }: I! n+ k/ F. @) ?# h
确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  4 x/ O- y. |* S
' R: K; c4 o' N3 `% R3 K# o
再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质) |% k8 ?% C+ W* n
要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  
, X" a4 c+ A, w" g搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。
, ~) V  b; F6 _6 {! N
9 E% V2 Q0 z* j, ]+ j
$ K+ R' }# g7 b+ M下面我们打开Goldwave软件~来看看如何操作  
4 s3 V/ Z4 u1 `$ g' b& t& W
" }5 Q  C0 a+ Y9 {' r! W# r, D0 q$ m
, a1 f3 g9 T, c% ^, g/ g' r" _3 `$ H音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  , {3 e* R$ m' C

6 v0 L% e! i/ e  o, H9 u3 V% E打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲6 v/ ~) i/ P8 j' c% A
解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。/ S- W1 y+ \5 c: d- ~- i
在弹出菜单中,选择保存类型:MP3。. l/ B8 M; v1 d
打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
% J2 Z( e4 c$ ~& P5 p& E8 v3 F" p检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。
8 Y/ B: q" s8 P# r" ]回到flash软件,导入mp3,正常导入并检查库中元件。5 i$ x  ]8 K0 Q2 F* H
注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。
$ F/ L) i  t+ d. M6 d0 W打开库面板,选中元件鼠标右键,选择“导出设置”。
% N! W+ }0 H+ R1 p& r, |选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。
( Z+ o& A5 t  T" {( S9 F再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。
6 S  p! s; L7 R% j/ e7 M$ ^4 j) B+ X6 c/ P8 a  v7 M/ O
% L: W, q! w4 n5 W" G1 G1 w
歌词和音频的同步,用于swf中的字幕制作
) D; i; c: A3 u4 S, k- a& f! V8 Z) p& z- y% t9 Z
打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。
% ~5 E0 S) n" i% d; U$ R在时间轴上新建一个图层命名为“文本”。
! p! v* w2 o2 E' e6 E使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
+ }# T9 P8 _' N0 O在第1帧处插入如下代码,同时执行导入库中的音频文件:$ i" `8 m! d& j9 x
# o1 q7 t# F+ L
inc = 0;
" |$ J4 F' @, `  ]music = new Sound(); & q. U, J2 N! H
music.attachSound("music"); ' ^9 D8 Q) g# I. e7 Z
music.start();
* ~" e7 W- J( E4 q, ?0 s0 x! J% B$ G7 a! q4 _5 I# ?8 }$ b
新建图层2,命名“as”层,第一帧处插入以下代码:) Q, z& s3 j/ V6 X. ^* m1 J

7 {; Z" r' h7 S; J. U& ^stop(); 4 a2 ~2 l4 v! z$ m/ B
this.onEnterFrame = function() { : `! I+ h- P3 L& F: I; D
  if (inc>10) {
9 b" k7 g/ x' H6 b) M' x          gotoAndStop(1); . p2 Z0 Y; q: t- V1 E7 k' V. m( [* b
  }
8 j4 L  A' e8 W- z- d# e) r  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5];
3 I* M. G! Q( w1 l$ r2 `' T  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"]; 8 m( ?9 j+ y# y, ?) D, N
  if (getTimer()>labelTimeList[inc]*1000) { # V0 W$ T- [8 e* d
   x = musictext[inc];
) R; M  S0 C% Y   inc == inc++; 1 d" F3 l) e& ~8 \6 ~
  }
8 D# _* @: k  o  [; T+ B0 S3 {1 r' l1 {/ e};
4 b- R1 }7 |( F" X: I( qthis.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数* e# o0 G# N9 A4 i6 ~- T" n$ V
  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc
5 [6 C. s8 D! k) B1 H9 p7 Z& L9 B1 ~      x = musictext[inc];
+ ]6 Z/ f! k7 {$ s% w      inc == inc++; 9 t8 W3 y9 t1 P9 P5 a/ s
  }
7 U/ J/ j* _8 _$ Y$ s};
/ E0 _! \" W* x. i* rlabelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间
9 ^) P! h$ ?8 _( Y- [' w( S) b& Z- v5 [! o
Ctrl+Enter回车测试效果。
5 |. p5 k; z) X8 J' W

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-19 13:44 , Processed in 0.196222 second(s), 9 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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