as中SoundChannel() 和 Sound () 使用说明

引用别人比喻:
SoundChannel 相当于录音机,Sound相当于磁带。

Sound包含的是音乐内容对象,play()方法包含在其中,但没有stop()方法,CS4手册里有说明属性
SoundChannel是个控制体,没有play()方法,但有stop()方法,同时还用来存储比如 声道 等信息

Sound包含在 import flash.media.Sound;
SoundChannel 包含在 import flash.media.SoundChannel;

同时给出相关配合的函数介绍:
URLRequest 可理解为:转换外部路径为程序路径 需导入 import flash.net.URLRequest;

常见的用法:

 代码如下 复制代码

package
{
        import flash.display.Sprite;//不用再介绍这个了吧
        import flash.media.Sound;//声音内容对象必须的
         import flash.media.SoundChannel;//声音控制体的
        import flash.net.URLRequest; //转换路径的
       
        import flash.text.TextField; //创建文本的
        import flash.events.MouseEvent; //鼠标事件的
        import flash.events.Event; //不再作解释

        public class demo1 extends Sprite
        {
                var t:TextField = new TextField();//创建个空的动态文本,在这里创建才能被其他方法访问到
                var playlen:SoundChannel = new SoundChannel();//创建个空的控制体对象,在这里创建才能被其他方法访问到
                var sound1:Sound = new Sound();//创建个空的声音内容对象,在这里创建才能被其他方法访问到
               
                public function demo1()
                {
                        //以下这部分是设置一个动态文本到舞台
                        t.text = "播放"
                        t.x=100;
                        t.y=200;
                        t.selectable=false;
                        stage.addChild(t);

                        //这里是给动态文本添加侦听器,侦听单击事件,单击一下执行一次control()方法
                        t.addEventListener(MouseEvent.CLICK,control)
                       
                        //转换外部音乐路径为src1程序用的音频源
                        var src1:URLRequest = new URLRequest("zzlg.mp3");

                        //将音频源载入sound1对象,这个时间sound1就是一个有内容的对象了
                        sound1.load(src1);
                }
               
                //单击动态文本执行的方法
                function control(e:MouseEvent) {
                        //position是SoundChannel的属性,返回的是当前音乐播放的进度,以ms为单位。
                        // 第一次执行到这里playlen对象还是空的,因为还没有把音乐控制信息存入playlen, 获取到的播放进度为0
                        //如果是每二次执行到这里,将返回播放进度
                        var playlenint = playlen.position;           
               
                        if(t.text == "播放"){
                                t.text = "暂停"
                                //第一次执行到这里由于上面播放进度为0,所以是是第一次播放音乐
                                //否则如果获取到进度不是0,就等于接着播放音乐
                                playlen=sound1.play(playlenint);
                                //这里开始播放音乐,并把同步信息存入playlen控制体, 这时playlen将拥用音乐的所有信息
                        }else {
                                playlen.stop();//停止播放音乐
                                t.text = "播放"
                        }
                }
        }
}

时间: 2024-08-02 01:55:43

as中SoundChannel() 和 Sound () 使用说明的相关文章

linux中mkdir创建目录命令使用说明

1.命令格式: mkdir [选项] 目录... 2.命令功能: 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录.要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限.并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写). 3.命令参数: -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p, --parent

Javascript中的isNaN函数使用说明_javascript技巧

isNaN函数 返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字). NaN 即 Not a Number isNaN(numValue) 必选项 numvalue 参数为要检查是否为 NAN 的值. 说明 假如值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false . 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的输入值. 还有一种办法,变量可以与它自身进行比较. 假如比较的结果不等,那么它就是 NaN . 这是

PHP中的递归正则使用说明_正则表达式

之前一篇文章翻译了Perl语言中的递归正则表达式. 其实不少语言中的正则都是支持递归的, 例如本文要介绍的PHP正则递归. 虽然, 工作中最常用的正则表达式都很"正则", 只用最基本的语法就能解决85%以上的问题, 而且合理有效地使用普通正则来解决复杂问题也是一门技巧与学问; 但是高级一点的语法的确有它存的价值, 有时不用它还真办不了事儿; 况且学习正则的乐趣也在于尝试各种各样的可能性, 满足自己无穷无尽的好奇心. 本文内容, 整理自网文Finer points of PHP regu

jQuery Mobile开发中日期插件Mobiscroll使用说明_jquery

近期在移动方面的开发,使用jQuery Mobile ,移动方面的插件不如Web 方面的插件多,选择的更少,有一些需要自己去封装,但功力尚不足啊. 日期插件JQM也提供了内置的,但样式方面不好看,只好百度.Google啦,找到了两款 jquery-mobile-datebox 和 mobiscroll-2.3 jqueryMobileDatebox 这个在板上的表现不好,性能方面有点卡 mobiscroll 性能方面比前者要好一些,效果更简洁 ,划动更流畅 放在一起对比下 各位看官,你们觉得哪个

javascript中的prototype属性使用说明(函数功能扩展)_javascript技巧

这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现. 在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许['a','b','c'].push('d');这样的操作存在.类本身也是一个对象,也可以定义属性和方法: 复制代码 代码如下: function Test(){}; Test.str = 'str'; Test.fun = function(){return 'fun';}; var r1 = Test.str; /

PHP中ob_start函数的使用说明_php技巧

用PHP的ob_start(); 控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用. 我们先举一个简单的例子,让大家对Output Control有一个大致的印象: Example 1. 程序代码 复制代码 代码如下: <?ph

JavaScript中的Array对象使用说明_javascript技巧

说它是一个动态数组,是因为动态的添加数据: 复制代码 代码如下: var myarr = new Array(); myarr[0] = 1; myarr[1] = 2; myarr[2] = 3; myarr[3] = 23; myarr[4] = 11; 使用for进行遍历: 说它是一个字典对象,是因为他可以以键值的形式进行访问: 复制代码 代码如下: var dictionary = new Array(); dictionary["谢龙宝"] = "xielongba

SQL中patindex函数的使用说明

charindex函数返回字符或字符串在另一个字符串中的起始位置.charindex函数调用方法如下: charindex ( expression1 , expression2 [ , start_location ] ) expression1是要到expression2中寻找的字符中,start_location是charindex函数开始在expression2中找expression1的位置. charindex函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置.假如ch

jquery中end()方法的使用说明

end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 看样子好像是找到最后一次操作的元素的上一元素,在如下的例子中: html代码:  代码如下 复制代码 <div>测试内容1</div> <div>测试内容2</div> jQuery代码:  代码如下 复制代码 $('<p>新增内容</p>').appendTo('div').addClass('c1').end().addClass('c2'); 得到