找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 9831|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

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

$ Z0 j! }1 P. f- }( ^( v0 O在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。
! D' A, E' l6 I, O+ W! K0 J) k' Y: Q9 M
7 Z1 w% ~( i' V

7 T& U; H" W: u8 L( {首先了解一下音频的几种常见格式:& n9 _2 B7 m% W; o2 v0 T  A4 W
2 M# @: ~' C3 T2 t" D* C
mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  
3 E! z8 J1 H5 Q/ n0 j. Lwma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  . r& J& Y. K9 `( G, |: S$ B! m" m* W, v
wav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  6 }" V6 _# L+ S" M1 T  g. D

4 x" `' `* m# \& L* W属性(采样频率):  
1 d5 q0 G" i, \) {( p! g  P% @( j) Z1 P8 |$ \; z
5KHZ:只适合于说话声音
+ ]7 m% r/ I9 I! C0 y11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质- a* Z% c7 E7 o
22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
5 {/ h& R0 N# n4 w/ x44khz:理论上的CD音质界限。标准CD采样率  ' k" Y: b+ N; l. z

- a1 Q- @) z" \8 G8 A4 V采样位数:2 m1 q" O2 D9 l0 C& L2 r! f% D
( T: X/ d. Q) r6 |( g
如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  ! @, N8 t0 U* _) F6 R# @$ p4 q8 C
当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
% ^. K" U* N2 ~) S5 X' X. M确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:    r/ z6 W2 @4 |# M- a' U# K' L' ^

  k7 w3 [+ [: }: r: J再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质
( J7 p) E, G9 ?! G/ n要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  ( z1 H; y. v7 O* T& b6 V7 X+ X
搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。) R' c0 b* n* l. t
0 M8 H( B' G/ P: |- s

8 s, }: T4 Z4 S6 }5 o下面我们打开Goldwave软件~来看看如何操作  
+ H3 I* |5 a3 l# }3 a, G. O4 {5 K# k: g5 j! {$ f

! o- X4 _2 H8 h9 D. c音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  , C: m9 u& r8 c

5 s% D9 r- k* z6 `9 R+ Y, m打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲
/ F7 Q$ x8 i9 @- c5 k5 C解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。0 x( a0 f# U9 {6 X4 N8 ^* L. o
在弹出菜单中,选择保存类型:MP3。4 ?5 V) e4 z0 N  w7 M" w; r
打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
/ Q$ [  M* E8 U; ^5 p7 y检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。' w1 c" [2 g' {& {2 h7 V) }4 @
回到flash软件,导入mp3,正常导入并检查库中元件。
5 I8 h; N5 _& W; `注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。
, F$ u0 o- D6 W7 P打开库面板,选中元件鼠标右键,选择“导出设置”。
8 c  o. H  R9 Z+ J  U* U选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。+ |; X9 |' n8 Z! F+ Q9 @/ F& Y
再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。
8 D2 f7 u8 j9 J$ U# w8 W; t; s% [: x$ n

8 W: y7 G! k7 |6 X# l* t2 Q# T/ U! j歌词和音频的同步,用于swf中的字幕制作
& v9 @+ g1 z+ G
; q& Y) r- D1 u, o0 f打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。9 E" h$ _. b1 J
在时间轴上新建一个图层命名为“文本”。
* a( Z4 j- `1 O- @, ?使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。' R- d8 _& M. U/ b3 u& {0 {
在第1帧处插入如下代码,同时执行导入库中的音频文件:" @! y! d  ]% ?

! r: O+ }/ _8 `$ dinc = 0; . _. I/ j' D% F1 S: V  U
music = new Sound(); " B1 Q( l: |* s5 A
music.attachSound("music");
3 Q2 Y. q1 |! K$ E- Hmusic.start();
7 R" d0 B) X! s. T9 g  {
* m$ U) U1 k+ p- _新建图层2,命名“as”层,第一帧处插入以下代码:; j1 b6 S" `+ S5 y- t  g
/ l) S/ E/ N) G, i2 L# }
stop();
6 Y- r  l; K0 c& f9 r0 p$ ?/ {7 J. }this.onEnterFrame = function() { 1 @% s7 r# S- n6 Y
  if (inc>10) {
4 U) r, ^/ a# t1 [9 p          gotoAndStop(1);
+ k/ _! E4 H7 j' _  } # a" h; |- T4 N9 g
  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5];
+ q* z" W( {4 z+ X4 M  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"]; # l% i9 A) _6 P7 _* }
  if (getTimer()>labelTimeList[inc]*1000) { , u8 ^4 [; v, m) {
   x = musictext[inc];
" w, \# D& [2 e. {  U2 @   inc == inc++;
6 M0 u  S4 L8 V: Y  } ( X. J3 f  ?  C- H
}; 7 T4 C# s1 w/ `) w- p, g
this.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数! A; C& j3 g5 I9 r, U
  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc7 ~( v! q3 x2 c- Y; X3 G
      x = musictext[inc];
) y, ]% w/ [, ?- ^5 N      inc == inc++; 4 y1 O9 n, P/ ~8 c5 P( j
  }
9 L' h2 P! i3 H};! X+ e% H* n9 \9 V4 a
labelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间
3 {( Y5 Q: z1 o8 v, M. S! Z& i( T( {6 l, ~9 j: B
Ctrl+Enter回车测试效果。
/ L4 Z/ h$ R9 T* t) A, I

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-2 03:31 , Processed in 0.115155 second(s), 11 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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