找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 11528|回复: 0

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

[复制链接]

2135

积分

4

听众

1130

金贝

中国原创歌词基地初级

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

2 U- [! o- E2 d- b在Flash制作过程中,导入Mp3音频经常会遇到"读文件时出现问题,一个文件或多个文件无法导入"的提示,导致音频导入失败的情况。本文介绍了一种通过Goldwave软件解决这一音频导入问题,并使用脚本语言简单、轻松实现歌词和音频的同步。& U% {  u% Z2 w' l6 ~8 E  Z

! r3 s. P3 w/ q' |6 L9 O 3 j% r+ v: O# N

* [; q% f. e* L9 O/ x首先了解一下音频的几种常见格式:
8 w+ T. o9 [4 n/ O' J4 [7 }* @) q  ]' E# X3 h1 B7 M. @9 E. O
mp3(mpeg-1 audio layer 3): 能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如WAV文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。  
  q7 `2 K4 ?5 f, D5 I+ Hwma(windows media audio):是微软在互联网音频、视频领域的力作。常常用于在线收听和广播的首选,wma格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。  
; M! u; [9 E" }" hwav 也叫一种波形声音文件格式,是最早的数字音频格式,被Windows 平台及其应用程序广泛支持。采用44.1kHz 的采样频率,16 位量化位数,跟CD 一样,对存储空间需求太大不便于交流和传播。  , e/ q/ |& }! A- I

1 U+ ^! K/ Z! P属性(采样频率):  
9 K4 o8 s/ x1 E) n* Q
2 f/ x. V% _5 }3 D$ o9 O& f4 f5KHZ:只适合于说话声音
" J1 f# c. j* I' K11khz:相当于电话音质。是标准CD采样率的1/2,是最低的推荐品质  B, @0 L* h8 X. ?
22khz:相当于FM广播的声音品质。相当于标准CD采样率的1/2,是供WEB播放的通用选择0 d7 l# C% @2 K+ Z
44khz:理论上的CD音质界限。标准CD采样率  
! S/ b  `3 z' j. a/ t
( t/ S! A, N7 n  X采样位数:
1 q5 {( S+ [. O% F4 ~; Y! ]5 I, k2 P5 o# r8 G/ D
如:一段相同的音乐信息,16位声卡能把它分为64K,80K,96K,,,等精度单位进行处理,但这个数值越大,解析度就越高,声音就越真实。  2 W- f+ [" P0 Z% \! u. t2 q
当对采样频率、采样位数(音质)二因素质量越高时,同时音乐的体积也成正比表现出越大。: m# ~. Z% |* ^. e
确定音乐被flash无法识别导入后,首先我们要考虑以下几个问题:  # _: c& R8 q4 Z. `

  j9 [) u2 ?8 ^0 H1 S- \, e: X' x: M再次确认无法导入的mp3歌曲是我们需要编辑的文件。包括再次确定2点因素:音乐大小、音质
+ u, u. D! ~4 j9 g& z( S4 a要知道即使是相同的歌曲体积大小不同,也会出现音质的等级不同。一支质量好、体积小的音乐对Flash是很有益处的。  
! l) o  w7 V6 ~. F搜索网络音乐资源,在以上2点基础上再进行确定。并不是没有这样的可能:相等音质歌曲体积大小相差3倍左右,并可直接导入。& [& i- m: M! {3 q' H, N8 x

% ]- W. v1 {, T& P7 Q' c: a' B% [" z( o4 x/ L
下面我们打开Goldwave软件~来看看如何操作  
4 l6 @$ q% k6 y2 C+ f* b0 T* ~/ s+ A" Q% |% p4 s
% q6 ^& Z+ b* Z
音乐无法导入的问题主要是所导入MP3音乐与flash所要求格式、属性不符,那么我们在这儿通过修改音乐属性包括音层,HZ(赫兹)的改变。  9 ]. S6 v; D6 T4 g) I

# J& @; H4 n9 }+ N  Z, F打开goldwave软件。在界面找到“打开”或:文件“文件---打开”选中转换歌曲: b( r) N. c8 j. A* |% d: G3 \4 d, l
解压音乐后,找开菜单栏---“文件”。导入选择文件“另存为”,当然如果需要对音乐段进行裁剪,可通过工具栏中进行选择,这里我们不再讨论。
3 K% e- N" p* Q* F* U在弹出菜单中,选择保存类型:MP3。6 d# S/ ?$ o( {  u
打开下面的属性菜单,选择各属性并修改:采样频率:22050HZ,已相当于标准CD采样率1/2。采样位数:64KPa,已接近最真实声音,个人经验选择采样位数:32KPa就可以达到基本的音质要求。
/ p5 `' b( k; _$ B! f/ x检查体积大小、试听音质。主要是对编辑后的体积大小检查,及音质确认:体积是否满足需要,音乐是否清晰。那有人就想,我再设置高效果会更好!~没问题!可是要知道音乐效果好了,在flash中体积就大了。从flash减肥上来说不可取,音乐只是flash一部分。当然你也可以保存更低的采样频率、采样位数,从而音乐体积更小~音质则根据每个人的需要量力而行,选择较好音质同时体积不大,这也是结合Flash对音乐的要求。音乐1~2m以上、整体swf文件大小,对下载、播放是否流利或有影响,也是主要要考虑的问题。
8 x, x; ~' t$ z) ~回到flash软件,导入mp3,正常导入并检查库中元件。
5 n* b; w/ H* m+ Q, o: r% j0 T, B注意这里还可能可能会出现Mp3不能导入的情况,我个人的经验是将原音乐首先另存为wma格式,接着要不嫌麻烦的再次另存为Mp3,往往这样就能解决问题,具体的原因还不能解释清楚。3 h; m! r; f) P6 k! _% A
打开库面板,选中元件鼠标右键,选择“导出设置”。
3 `* {' _) ]7 x6 c6 E" U5 ?6 Z选择“声音设置”--改“默认”为“MP3”。再来一次比特率、品质设置 。
. Y" P5 c) Q9 ?8 T4 J再选择“输出”--声音设置,进行修改设置,查看swf文件已降低,当然还可以降到更低,例如16kps甚至更低,但这时音质无法保证,因此提倡合理、适当分配音乐质量及体积大小。
3 c) G" V' _1 e& |; P" L
* K2 R, ^" s6 H5 `  D
4 H7 A% o# t  U' e- V歌词和音频的同步,用于swf中的字幕制作
" v+ h7 X" `0 K+ v2 z6 Z0 Q
1 H7 N& g& L$ f0 D打开库面板,点选音频文件,鼠标右键选择“链接属性”,修改标识符为“music”。0 E, w( C: W8 E- {$ F4 \
在时间轴上新建一个图层命名为“文本”。
! w0 k- i& q  I# E/ c使用文字工具输入第一句歌词,在属性面板上修改文本属性为“动态”,自变量为“x” 。; D$ C) \- `6 T
在第1帧处插入如下代码,同时执行导入库中的音频文件:
! |) _4 I- _/ n) [" y& N" f5 {! j- N9 b/ c9 w* H
inc = 0; 3 s, D; f' ^2 v+ [! `: H# x% e
music = new Sound();
; O1 k4 J0 \2 d8 S" J4 Hmusic.attachSound("music"); + Z9 M; U" d1 g2 G- [, X$ U
music.start(); 0 P1 O! ]# m3 T7 q

2 G. `1 Z: y: F  n新建图层2,命名“as”层,第一帧处插入以下代码:6 I% a( `. I2 j7 G
  V0 T6 a( \: }) U. t
stop();
: O2 P4 L* C, b9 athis.onEnterFrame = function() {
' \$ W/ F" e7 s' |  W" M( b  if (inc>10) {
/ J9 ^4 U$ o7 i/ w7 e. b* z          gotoAndStop(1); 7 s' K5 U7 r/ c7 j7 U( M+ e) @
  } % O$ e7 V3 E+ \5 D9 x* X5 j
  labelTimeList = [ 5, 11.5, 16, 21.5, 26.5 ,31.5]; % M/ E" m" h" [& w/ p* m4 i
  musictext = ["在东京铁塔第一次眺望", "看灯火模仿坠落的星光", "我终於到达但却更悲伤", "一个人完成我们的梦想"];
. W9 C4 Z7 Z+ R8 b7 f  if (getTimer()>labelTimeList[inc]*1000) {
; Z' e6 a; L. @/ ?/ H8 U   x = musictext[inc];
* g5 y$ s6 s& ^" O; |  k   inc == inc++; ! O, s0 X  ^+ t! H% X
  }
: C7 r7 v& B( O};
% ?) n% K0 x, U" q( D$ _0 tthis.onEnterFrame = function() { //自定义函数,当这个场景载入的时候执行自定义函数: w, H! h4 c1 Z. Y
  if (getTimer()>labelTimeList[inc]*1000) { //如果以用时间大于下载时间.则X变量的值为musictext[inc], inc变量加一后在返回值给inc5 S* H2 L6 }. e
      x = musictext[inc];
. R8 b. q" v# D4 F6 H6 U      inc == inc++; % d+ E1 Z; `% s
  }
) |8 i+ F; K( \7 \  T4 |8 u* N};9 v( F8 }7 p* B6 ]  o0 h5 U
labelTimeList=[5,11.5,16,21.5,26.5,31.5] //分别为歌词“起”的时间  B8 W5 A9 Z' ^
  a' F3 ~2 E. G% S5 h0 R
Ctrl+Enter回车测试效果。5 w1 ?0 k; ?* y# s8 L

相关帖子

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-28 04:23 , Processed in 0.021322 second(s), 7 queries , Redis On.

Powered by Audio app

中国原创歌词网微信: 924177110

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