• 声音编程介绍


    在Flash创建的引人入胜的动画效果当中,声音效果是最容易让人忽略,却又是最吸引人的地方。在动画创作中加入声音元素,能够使动画效果交互性更强,效果更生动。比如可以在视频游戏中添加声音效果,可以在应用程序用户界面中添加音频回馈,甚至可以创建一个分析通过Internet加载的mp3文件的程序。
    本章将介绍何加载外部音频文件以及处理SWF中嵌入的声音。还将介绍如何控制音频和从用户麦克风捕获声音等内容。

    在计算机中声音信息的表示形式被称为数字音频。计算机可以捕获并编码数字音频以及对其进行存储和检索,进而可以通过连接到计算机上的扬声器进行回放。使用Flash Player和ActionScript结合,也能够实现音频文件的回放。
    在ActionScript 3.0中,利用载入的数字音频数据,可以随意的来控制声音的音量、或者立体声还是单声道声音。不过在ActionScript 3.0中控制声音之前,需要先将声音信息加载到Flash Player中。ActionScript 3.0提供了4种方法将音频数据加载到 Flash Player 中,分别为:
    在运行时加载的外部声音文件。
    在应用程序的 SWF 文件中嵌入的声音资源。
    来自连接到用户系统上的麦克风的声音数据。
    从远程媒体服务器流式传输的声音数据,如Flash Media Server。

    Sound类

    Sound类用于在应用程序中使用声音。利用Sound类创建新的Sound对象、将外部的MP3文件加载到该对象并播放该文件、关闭声音流,以及访问有关声音的数据,比如有关流中字节数和ID3元数据的信息。

    2323232

    SoundChannel类

    SoundChannel类用于在应用程序中控制声音。在Flash应用程序中,播放的每一个声音都被分配到一个声道,而且应用程序可以具有混合在一起的多个声道。SoundChannel类还包含一个stop()方法、几个用于监控声道幅度的属性,以及用于对声道设置SoundTransform对象的属性。SoundChannel类共有4个属性,1个方法,1个事件,具体内容如下。
    leftPeak:只读属性,表示左声道的当前音量幅度,范围从0(静音)至1(最大音量)。
    position:只读属性,表示该声音中播放头的当前位置。
    rightPeak:只读属性,表示右声道的当前音量幅度,范围从0(静音)至1(最大音量)。
    soundTransform:分配给该声道的SoundTransform对象。用于实现音量的控制和调节。
    stop()方法:停止在该声道中播放声音。
    soundComplete事件:在声音完成播放后调度该事件。

    SoundMixer类

    如果在加载声音文件或视频文件数据的同时播放该文件,则认为是流式传输。通常,将对从远程服务器加载的外部声音文件进行流式传输,以使用户不必等待加载完所有声音数据再收听声音。SoundMixer类就是用于控制嵌入的音频文件在传输声音流之前,预先载入道缓冲区的时间。注意,此类只能控制动态加载的声音文件,而不能控制嵌入道Flash Player中的声音文件。此类有2个属性,3个方法,具体如下所示。
    bufferTime:表示在开始传输嵌入的声音流之前,将其预加载到缓冲区中所用的秒数。
    soundTransform :控制全局声音属性的SoundTransform对象。
    areSoundsInaccessible():确定是否因安全限制而无法访问任何声音,若无法访问,则返回false。
    computeSpectrum():获取当前声音波形的快照,并将其放在指定的ByteArray对象数组中。
    stopAll():停止当前正在播放的所有声音。

    本文来自:ASP急救中心(http://www.ccap168.cn),详细出处参考:http://ccap168.cn/news/2010410016.htm

    关注我: weibo.com/holycy
  • 相关阅读:
    Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
    MyBatis 实现一对多有几种方式,怎么操作的?
    利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进 程的信息?
    哪个命令专门用来查看后台任务?
    什么是 MyBatis 的接口绑定?有哪些实现方式?
    什么是端到端微服务测试?
    我们如何在测试中消除非决定论?
    什么是持续监测?
    怎么使一个命令在后台运行?
    博客园样式美化(兼容为知笔记)
  • 原文地址:https://www.cnblogs.com/holycy/p/2251351.html
Copyright © 2020-2023  润新知