声音控制学-AS3.docVIP

  • 4
  • 0
  • 约9.61千字
  • 约 8页
  • 2016-12-03 发布于贵州
  • 举报
声音控制学-AS3

声音控制学习 AS3中与声音控制有关的类有以下几个: ? 类 说明 1 Sound Sound 类允许您在应用程序中使用声音。 2 SoundChannel SoundChannel 类控制应用程序中的声音。 3 SoundMixer SoundMixer 类包含 SWF 文件中全局声音控件的静态属性和方法。 4 SoundTransform SoundTransform 类包含控制音量和平移的属性。 5 SoundLoaderContext SoundLoaderContext 类为加载声音的 SWF 文件提供安全检查。 6 SoundCodec SoundCodec 类是在设置 Microphone 类的 codec 属性时使用的常量值的枚举。 7 ID3Info ID3Info 类包含反映 ID3 元数据的属性。 我们最常用的是前4个类,现在我们对以上各类的功能及使用一一学习。 Sound类: AS3.0帮助文件中对Sound类做如下说明: Sound 类允许您在应用程序中使用声音。 使用 Sound 类可以创建新的 Sound 对象、将外部 MP3 文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据,如有关流中字节数和 ID3 元数据的信息。 可通过以下项对声音执行更精细的控制:声音源(声音的 SoundChannel 或 Microphone 对象)和 SoundTransform 类中用于控制向计算机扬声器输出声音的属性。 理解: 这段文字告诉我们,一旦我们实例化Sound对象,就是告诉程序:我要使用声音文件了,实际上是一种授权,就是Sound对象授权程序可以使用声音文件,而且声音文件的使用也得靠Sound对象自己来完成,比如加载声音文件、播放声音文件、关闭声音流等工作都是由Sound对象自己来完成的。如果还要对声音文件进行更精细的控制,就得借助于其它相关类,比如,要控制声音的左右声道和播放位置就要借助于SoundChannel类,要控制音量就得借助于SoundTransform类。 以下示例演示如何告知程序要使用声音文件并加载、播放该声音文件: 准备工作: 在同一文件夹内放放一首MP3音乐,并新建一个fla文件,fla文件的场景中拖入一个按钮实例名分别为pl_btn,选中第一帧,打开动作面板,输入以下代码: var url:URLRequest=new URLRequest(你怎么说.mp3); //定义URLRequest对象,指定声音文件地址 var mySound:Sound=new Sound(); //定义Sound对象,告诉程序将要使用声音文件 mySound.load(url); //Sound对象加载声音文件 pl_btn.addEventListener(MouseEvent.CLICK,onCLICK); function onCLICK(e:MouseEvent) { mySound.play(); //Sound对象播放声音文件 } 测试效果,源文件见所附文件夹内“认识Sound类”文件,至于对声音文件的更精细控制我们将在以后学习。 在 Flash Player 10 和更高版本中,也可以使用此类来处理动态生成的声音。在这种情况下,Flash Player 将使用您分配给 sampleData 事件处理程序的函数来轮询声音数据。从用声音数据填充的 ByteArray 对象检索声音的同时播放声音。可以使用 Sound.extract() 从 Sound 对象中提取声音数据,然后在将声音数据写回到流以进行播放之前可以对其进行操作。 示例一:(动态生成正弦声音) 新建fla文件,打动作面板,输入以下代码: var mySound:Sound = new Sound(); //定义空的声音对象mySound,告知程序要使用声音文件 mySound.addEventListener(SampleDataEvent.SAMPLE_DATA, sineWaveGenerator); //mySound对象添加SampleDataEvent侦听器 mySound.play(); //播放声音时播放器将继续发送SampleDataEvent事件,类似侦频事件,只要声音播放,就会不停的触发SampleDataEvent事件 function sineWaveGenerator(e:SampleDataEvent):void { for (var i:int = 0; i 8192; i++) { var n:Number=Math.sin(i*180/Math.PI); e.data.writeFloat(n); } }S //此函数使用writeFlo

文档评论(0)

1亿VIP精品文档

相关文档