找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 10423|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

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

( O. {( X9 O. l3 G. P+ U在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。
8 z: q8 G5 Z" M0 D2 X$ @( `3 W* O2 [

& p- }1 k2 D! L" {8 E5 l
. ?% O8 v) _6 t+ u' H首先了解一下音频的几种常见格式:5 d! l# h8 \% t' R2 k, q

& e' d* u+ z# t8 g7 Zmp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  - F2 K7 A0 E: o  g6 T5 D* C
wma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  
, ]* S/ D" m( S( |8 s# L8 h) b9 nwav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  . g; Q7 w+ _- A2 j& x
- F* c' d& s7 z" x" v
属性(采样频率):  9 z. k) {. @! \$ Z* M* @5 M

; n3 n/ h; c3 a. D/ z. H5KHZ:只适合于说话声音% q! [. x/ G9 j9 Y* T+ |6 V
11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质8 f! v- v$ Y6 j) A, |
22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择
+ c- O% |: l/ c. z: y44khz:理论上的CD音质界限。标准CD采样率  4 G4 b5 p& F6 `! k1 w0 q
  N, }+ g* Z2 b: B; `
采样位数:  S  t: G% [5 M! C8 x, h) a4 {

3 Y, n1 P: ]3 {- s- C! r如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  0 U3 [% t+ e' H( t( i
当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。
# {# F& C& d; Z) Q2 T" G确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  7 r, @0 [+ V4 s9 B5 Q9 i1 r

8 _! {: y$ C, X% C9 \再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质
! T) @$ K, X, h/ ^要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  
4 j! }* E0 G+ ]  z, n! F. @. B" u搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。
, a: T+ M+ j- V! M: D* ]' ]) I4 h1 g4 _8 o
6 y2 G" t2 s# F; _1 K) k7 _0 d0 B% n
下面我们打开Goldwave软件~来看看如何操作  
; ]1 r& I. s+ h; V2 o
/ \! K+ C" R- {
% {" [/ b7 X0 }' H* ]7 r! G4 K音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  
2 H$ F: z; F" e. I6 O+ D7 G3 @! Q7 L" h0 D2 ^% ]- _
打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲
: ?6 b( K) w2 B& I8 r解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。
& S# U* C* Y4 Z$ p# U  F在弹出菜单中,选择保存类型:MP3。
5 q1 `/ ?: x# @% @+ r打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
& U! J* z' J. _检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。3 o+ ^8 W8 k; d8 h
回到flash软件,导入mp3,正常导入并检查库中元件。
: ~* y. |8 u( s8 A7 J; }  M; u注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。
' W! ^! v5 d4 c' p- e' C打开库面板,选中元件鼠标右键,选择“导出设置”。
' Z# I9 |7 e) l9 j" @选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。( A$ ^+ w* m& |3 [: L
再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。
: H5 M/ m# g) A+ g" L7 W* d0 V& M  e* b6 k! C' n: \0 G2 W) `
( c. m/ ~/ k0 a0 F
歌词和音频的同步,用于swf中的字幕制作" p2 D9 S" g8 Z: _  J
' I$ E: }, I  ^9 |2 C) u* h7 y
打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。
- X$ H& c! R: x1 K, _在时间轴上新建一个图层命名为“文本”。+ @$ q+ s5 Y; H- j" j* |& W
使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。
, v8 w8 \- _7 X2 a0 n2 _在第1帧处插入如下代码,同时执行导入库中的音频文件:
' D/ E" {9 M8 P$ W( B  ~& p6 I+ ^9 q; k5 {% i) C6 b, _: J
inc = 0;
: T2 a( \' s+ o6 z% p, Z( {music = new Sound(); 2 W" U* \# s' F8 I
music.attachSound("music"); " \3 D; m+ }$ G0 Y5 f
music.start(); . B; ~. |' {2 n
1 U$ j0 G5 @  N- H* a2 P4 Y4 C
新建图层2,命名“as”层,第一帧处插入以下代码:
4 `2 I$ S+ B& h& ]- \
, p7 ?$ l( ~. V$ Lstop();
. f8 Y: ~5 N' R* Q2 sthis.onEnterFrame = function() { ' a0 f+ ~3 b( M! Y/ D/ q
  if (inc>10) { 8 ]. Z! _) A% `! s4 {+ \
          gotoAndStop(1);
# [8 t& L4 z; j' J- n, N  }
3 @1 D3 R' U1 x/ {4 M/ |$ p( |  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5]; # x+ T" E/ k+ ~' C5 o
  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"]; / W6 H- d  H( @
  if (getTimer()>labelTimeList[inc]*1000) { " `. J9 b& u/ f, w2 i. C
   x = musictext[inc];
: b# {' u  e' [4 @- T1 p   inc == inc++;
, u: ]- l* S# d& ?  } , W! ^, ]- H& U; D0 f
};
2 ?6 T! Y0 q: I" ~+ Q7 j' T" Ethis.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数
* d8 }7 B- j5 \3 S  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc
2 p5 F. X5 B& X0 x) W3 s      x = musictext[inc]; # k3 H1 v+ `% w! e; U
      inc == inc++; * {2 A1 [9 ^. ^" X) @
  }
8 X) m( y' S2 {- N% |};
: E/ Q1 ?8 k3 ZlabelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间$ @# g' w7 V5 {* c4 K
' D% ~; H; ]; ?2 c  w
Ctrl+Enter回车测试效果。
/ [4 d$ r1 ^: j6 ]& L) q8 i

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 06:07 , Processed in 0.027152 second(s), 9 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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