找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 10939|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

积分
2135
guojian123 发表于 2015-10-23 08:56:05 | 显示全部楼层 |阅读模式
, s$ U9 @6 y$ D1 q9 v
在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。
: j6 z3 Z3 E0 D3 N
# ~) n. q* T0 s0 m . k* M3 `! Z9 M
/ T. [9 m( H9 V$ Q. `
首先了解一下音频的几种常见格式:
2 {3 O' ~1 o" O2 s7 {0 J, B+ c$ G- U" [3 D$ T. f- Q
mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  + A1 e8 P0 a& r2 V
wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  ; }) r6 s0 G/ h! k' F  G
wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  
- ^+ j/ w4 d4 b2 f( ?& k, _1 U' A
. F9 |2 i. ?% Q' d# G) x; n属性(采样频率):  
2 {8 u- |) I( G, A* X4 r
7 A+ v; c: a; A- Q5KHZ:只适合于说话声音
3 {- Z, X, m0 \8 h! O' n" H11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质
! f! e" x9 z0 C0 R- _8 Y22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
2 S( c$ o0 u9 N# X; W44khz:理论上的CD音质界限。标准CD采样率  * M6 V& J, L% S, M4 y! D# m( I3 T

* ^% s  I1 _7 b7 E3 d采样位数:
9 ~! y* G" C5 C% J; h
" N5 q" c9 `$ ?* X3 i如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  
7 u8 f0 `- f5 X% Z2 Q; C" `当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
5 R/ X, `, h' H/ [+ M确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  
2 O7 O1 |( ~& k; e2 p/ T' D
4 L- W2 j. y/ `0 X4 g再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质0 _# m7 S$ p- j" ~
要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  - |5 \; i! t1 u- S; @2 S: Q
搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。
0 `( V1 I: w& W% a1 h+ y4 ]
9 n* u3 B( e  P0 I
: m$ L; B$ v3 d4 X下面我们打开Goldwave软件~来看看如何操作  , q% y6 @: o1 c0 T: t9 e
5 T- K9 g8 g& p" k# J2 p* h

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

# H5 r, E; a$ `! T/ O6 \  Z: _2 |) c$ i7 |( f1 ?  V
歌词和音频的同步,用于swf中的字幕制作
- a7 Z1 T$ ?% [6 r
+ l8 J" }8 ~3 H  j: |打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。. t! K" D. x" Z* \6 T
在时间轴上新建一个图层命名为“文本”。
. S4 r1 I, A* A5 B* t, {3 p. P使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
* t) j4 D$ D8 S- ?0 ?5 G& m在第1帧处插入如下代码,同时执行导入库中的音频文件:1 O. X/ q; d$ u5 ?# a# W: G
& ~& d0 i9 `- I% U
inc = 0;
" A& j) r1 ?5 z4 Nmusic = new Sound();   k7 _  B) U4 p" B
music.attachSound("music");   U$ s- y: {+ z; t1 @4 @
music.start();
4 J3 ]7 q3 ~5 s8 J. s( Q# e* T
3 B6 c* o% Z5 t7 |, X: F2 E9 H3 l新建图层2,命名“as”层,第一帧处插入以下代码:
0 |' f! F0 |+ F. Q0 w9 O" y  w; j7 }# Q3 m( p
stop(); $ _% h1 I  k4 X
this.onEnterFrame = function() {
1 f6 J1 T! z6 f4 B& S8 U% M% T) r  if (inc>10) { 5 M7 ~/ P& L, ]6 a  F5 M
          gotoAndStop(1); ) F! O/ u; B, M4 f0 W
  } ) L! Y8 w1 Q# i) B! z$ h
  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5]; 6 D; m4 C- f7 f; P" F1 T3 m. \
  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"];
" W' C! v+ b3 Y6 s5 r* A. {& K4 C  if (getTimer()>labelTimeList[inc]*1000) {
$ h0 l1 U, L- E( H- \2 K/ k+ d   x = musictext[inc]; 7 @( O1 S/ r; V' A1 V( f
   inc == inc++; * ~' @( {. N; s! _; \
  }
1 f/ p+ A6 I- e}; & W( l7 z3 g/ [4 t0 \: N
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数8 j" m0 i. Q+ q( B4 h
  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc# A  e$ O' n$ y3 f9 o
      x = musictext[inc];
* }: A5 w$ C% d8 t      inc == inc++;
) C0 j7 j0 q# |  ~# I  } . j4 O% j9 O2 [! ^( I" D3 U
};
* J- A! I& |( o& B+ P5 {+ slabelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间
" ]% J6 }4 L: N; X- f
4 `& M, j) l: |- uCtrl+Enter回车测试效果。$ T4 n( v5 Y% b8 n) n

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-17 19:56 , Processed in 0.033388 second(s), 9 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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