这是一整个完整的类,仅供学习使用!希望大家不要追溯版权问题,这个类使用了一个常量类来完成功能,常量类我就不放出了,相信看懂了,应该可以自己写出来。public class SoundManager { /** * 默认声音大小 */ public var defaultVolume:Number=1.0; private var activeSound:Dictionary; private var _soundOn:Boolean=true;//是否关闭声音,游戏音效 private var _bgSoundOn:Boolean=true;//是否关闭背景音乐 private static var _instance:SoundManager=null; public function SoundManager() { activeSound = new Dictionary(); } /** * 设置全局声音的大小 * @param volume 声音音量 * */ public function setGlobalVolume(volume:Number):void { SoundMixer.soundTransform = new SoundTransform(volume); } /** * 设置声音的大小 * * @param name 名称 * @param volume 声音 */ public function setVolume(name:String, volume:Number):void { var sc:SoundChannel = getActiveChannel(name); if (sc) sc.soundTransform = new SoundTransform(volume); } /** *取声音通道 * @param name * @return * */ public function getActiveChannel(name:String):SoundChannel { return activeSound[name]; } /** * 设置声音位置 * * @param name 名称 * @param pan 声音位置,范围由-1到1 */ public function setPan(name:String, pan:Number):void { var sc:SoundChannel = getActiveChannel(name); if (sc) { sc.soundTransform = new SoundTransform(sc.soundTransform.volume,pan); } } /** * 声音是否正在播放 * * @param name 名称 * */ public function isPlaying(name:String):Boolean { return activeSound[name]!=null; } /** * 停止播放 * * @param name 名称 */ public function stop(name:String):void { var sc:SoundChannel = activeSound[name]; delete activeSound[name]; if (sc) { sc.stop(); } } /** * 停止播放所有正在播放的音乐 * */ public function stopAll():void { SoundMixer.stopAll(); } /** * 播放 * * @param name 名称 * @param loop 循环次数,-1为无限循环 * @param volume 声音 */ public function play(name:String,startTime:Number=0, loop:int=1, volume:Number=-1,panning:Number=0):void { try { var ref:Class; if(ApplicationDomain.currentDomain.hasDefinition(name)) ref = ApplicationDomain.currentDomain.getDefinition(name) as Class; else return; var _sound:Sound=new ref() as Sound; var channel:SoundChannel = _sound.play(startTime, (loop != -1)?loop:int.MAX_VALUE); if (channel) { if (loop != 0 && loop != -1) channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteListener); activeSound[name] = channel; channel.soundTransform = new SoundTransform((volume != -1) ? volume : defaultVolume,panning); if(!_soundOn&&name!=SoundsConst.BATTLE_SOUND&&name!=SoundsConst.BG1_SOUND)//游戏音效关闭 { channel.soundTransform = new SoundTransform(0); } if(!_bgSoundOn&&(name==SoundsConst.BATTLE_SOUND||name==SoundsConst.BG1_SOUND))//背景音乐关闭 { channel.soundTransform = new SoundTransform(0); } } } catch(e:Error) { } } private function soundCompleteListener(evt:Event):void { evt.currentTarget.removeEventListener(Event.SOUND_COMPLETE, soundCompleteListener); for (var key:* in activeSound) { if (activeSound[key] == evt.currentTarget) { delete activeSound[key]; return; } } } /** *取SoundManager对象 * @return * */ public static function getInstance():SoundManager { if(_instance==null) _instance=new SoundManager(); return _instance; } /** *是否关闭音乐 * @return * */ public function get soundOn():Boolean { return _soundOn; } /** * 是否关闭游戏音效 * @param value * */ public function set soundOn(value:Boolean):void { if(_soundOn!=value) { _soundOn = value; for (var key:* in activeSound) { if (key != SoundsConst.BG1_SOUND&&key != SoundsConst.BATTLE_SOUND) { var _sc:SoundChannel=activeSound[key]; if (_sc) { if(!_soundOn) _sc.soundTransform = new SoundTransform(0); else _sc.soundTransform = new SoundTransform(1); } } } } } /** *是否关闭背景音乐 * @return * */ public function get bgSoundOn():Boolean { return _bgSoundOn; } /** * 是否关闭背景音乐 * @param value * */ public function set bgSoundOn(value:Boolean):void { if(_bgSoundOn!=value) { _bgSoundOn = value; if(!_bgSoundOn) { setVolume(SoundsConst.BG1_SOUND,0); setVolume(SoundsConst.BATTLE_SOUND,0); } else { setVolume(SoundsConst.BG1_SOUND,1); setVolume(SoundsConst.BATTLE_SOUND,1); } } }
您还没有登录,请您登录后再发表评论
flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助...
本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的核心概念、组件、布局、事件处理以及数据绑定等关键知识点。 1. **Flex简介** Flex是基于ActionScript 3.0和Flash Player或...
这个名为"flex帮助文档--(flex学习文档)"的压缩包文件包含了关于Flex的详细学习资料,尤其是针对初学者或者希望深入理解Flex的开发者。 1. **Flex的基本概念** Flex是一个基于MXML和ActionScript的开源框架,...
本Flex中文帮助文档旨在为初学者提供全面且深入的指导,帮助他们掌握Flex的基本概念、核心组件以及实际开发中的运用。 1. **Flex基础**:Flex是一个强大的开发环境,它提供了丰富的UI组件库和数据绑定机制,让...
### Flex中文帮助文档知识点概述 #### 一、Flex框架概览 - **核心概念**:Flex是一个用于构建富客户端互联网应用程序(RIA)的框架,它允许开发者利用Adobe Flash Player 9来创建高度交互性的用户体验。 - **开发...
Flex中文学习文档主要探讨了富互联网应用(RIA)的概念及其重要性,特别关注了Adobe的Flex技术在RIA领域的应用。Flex是一种用于创建富互联网应用程序的开放源代码框架,旨在提升网络应用的用户体验,提供类似桌面...
标题“flex播放wav的声音”指的是在Flex环境中播放WAV音频文件的技术。Flex是一个开源的、基于ActionScript的框架,主要用于创建富互联网应用程序(RIA)。它允许开发者构建交互式的、动态的用户界面,其中就包括对...
- **源码**:Flex应用的源码通常包含MXML和ActionScript文件,可以通过IDE进行编辑和管理。 - **工具**:Adobe Flex Builder和Flash Builder是流行的集成开发环境,提供代码提示、调试和部署等功能。 9. **Flex_4...
9. **国际化和本地化**:解释如何使Flex应用支持多语言,包括资源文件的组织和加载。 10. **性能优化**:提供最佳实践和技巧,帮助开发者优化Flex 4应用的性能,减少内存消耗和提高运行速度。 总的来说,"flex4 ...
Flex 后台管理系统是一种基于Adobe Flex技术构建的用于企业级后台管理的应用程序。Flex是一种用于创建富互联网应用程序(RIA)的开发框架,它允许开发者构建交互性强、视觉效果丰富的Web应用。SSH在这里并非指Secure...
本压缩包包含四份珍贵的Flex中文帮助文档,旨在为那些希望深入理解和使用Flex,但又对英文文档感到困扰的开发者提供便利。 文档一:“Flex基础教程.pdf” 这份文档详细介绍了Flex的基础知识,包括Flex开发环境的...
Flex是由Adobe公司开发的一种开源框架...`library.swf`是实际运行的Flex应用程序,而`catalog.xml`则是辅助管理项目资源的重要文件。理解并深入研究这两个文件的内容,将有助于我们更好地了解和维护这个Flex管理系统。
《Flex Air 本地文件管理器:打造Windows系统式的文件操作体验》 在现代软件开发领域,Adobe Flex Air技术提供了一种强大的跨平台解决方案,使得开发者能够构建与桌面系统深度集成的应用程序。尤其在本地文件管理...
《FLEX开发中文文档》是一份专为RIA(Rich Internet Applications)开发者编译的资源,主要涵盖了Adobe Flex 2和ActionScript 3的开发技术。这份文档由四部分组成,分别对应四个章节,旨在帮助开发者理解和掌握Flex...
Flex3帮助文档是开发者学习和使用Flex3进行开发的重要参考资料。 一、Flex3基础 1. **ActionScript 3.0**:Flex3的核心编程语言是ActionScript 3.0,与之前的版本相比,AS3在类型系统、性能和面向对象特性上有显著...
这个"flex4.5.1.chm"文件是一个完整的Flex 4 API文档,它是开发人员的重要参考资料,包含了大量的类库、函数、事件和接口的详细说明。 1. **Flex SDK**:Flex Software Development Kit (SDK) 是一个免费的开放源...
Flex会议管理系统是一款基于Adobe Flex技术开发的高效、易用的会议管理软件。Flex是一种富互联网应用程序(Rich Internet Application,RIA)框架,它允许开发者构建具有交互性极强、用户体验优良的Web应用程序。在...
相关推荐
flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助文档flex 中文帮助...
本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的核心概念、组件、布局、事件处理以及数据绑定等关键知识点。 1. **Flex简介** Flex是基于ActionScript 3.0和Flash Player或...
这个名为"flex帮助文档--(flex学习文档)"的压缩包文件包含了关于Flex的详细学习资料,尤其是针对初学者或者希望深入理解Flex的开发者。 1. **Flex的基本概念** Flex是一个基于MXML和ActionScript的开源框架,...
本Flex中文帮助文档旨在为初学者提供全面且深入的指导,帮助他们掌握Flex的基本概念、核心组件以及实际开发中的运用。 1. **Flex基础**:Flex是一个强大的开发环境,它提供了丰富的UI组件库和数据绑定机制,让...
### Flex中文帮助文档知识点概述 #### 一、Flex框架概览 - **核心概念**:Flex是一个用于构建富客户端互联网应用程序(RIA)的框架,它允许开发者利用Adobe Flash Player 9来创建高度交互性的用户体验。 - **开发...
Flex中文学习文档主要探讨了富互联网应用(RIA)的概念及其重要性,特别关注了Adobe的Flex技术在RIA领域的应用。Flex是一种用于创建富互联网应用程序的开放源代码框架,旨在提升网络应用的用户体验,提供类似桌面...
标题“flex播放wav的声音”指的是在Flex环境中播放WAV音频文件的技术。Flex是一个开源的、基于ActionScript的框架,主要用于创建富互联网应用程序(RIA)。它允许开发者构建交互式的、动态的用户界面,其中就包括对...
- **源码**:Flex应用的源码通常包含MXML和ActionScript文件,可以通过IDE进行编辑和管理。 - **工具**:Adobe Flex Builder和Flash Builder是流行的集成开发环境,提供代码提示、调试和部署等功能。 9. **Flex_4...
9. **国际化和本地化**:解释如何使Flex应用支持多语言,包括资源文件的组织和加载。 10. **性能优化**:提供最佳实践和技巧,帮助开发者优化Flex 4应用的性能,减少内存消耗和提高运行速度。 总的来说,"flex4 ...
Flex 后台管理系统是一种基于Adobe Flex技术构建的用于企业级后台管理的应用程序。Flex是一种用于创建富互联网应用程序(RIA)的开发框架,它允许开发者构建交互性强、视觉效果丰富的Web应用。SSH在这里并非指Secure...
本压缩包包含四份珍贵的Flex中文帮助文档,旨在为那些希望深入理解和使用Flex,但又对英文文档感到困扰的开发者提供便利。 文档一:“Flex基础教程.pdf” 这份文档详细介绍了Flex的基础知识,包括Flex开发环境的...
Flex是由Adobe公司开发的一种开源框架...`library.swf`是实际运行的Flex应用程序,而`catalog.xml`则是辅助管理项目资源的重要文件。理解并深入研究这两个文件的内容,将有助于我们更好地了解和维护这个Flex管理系统。
《Flex Air 本地文件管理器:打造Windows系统式的文件操作体验》 在现代软件开发领域,Adobe Flex Air技术提供了一种强大的跨平台解决方案,使得开发者能够构建与桌面系统深度集成的应用程序。尤其在本地文件管理...
《FLEX开发中文文档》是一份专为RIA(Rich Internet Applications)开发者编译的资源,主要涵盖了Adobe Flex 2和ActionScript 3的开发技术。这份文档由四部分组成,分别对应四个章节,旨在帮助开发者理解和掌握Flex...
Flex3帮助文档是开发者学习和使用Flex3进行开发的重要参考资料。 一、Flex3基础 1. **ActionScript 3.0**:Flex3的核心编程语言是ActionScript 3.0,与之前的版本相比,AS3在类型系统、性能和面向对象特性上有显著...
这个"flex4.5.1.chm"文件是一个完整的Flex 4 API文档,它是开发人员的重要参考资料,包含了大量的类库、函数、事件和接口的详细说明。 1. **Flex SDK**:Flex Software Development Kit (SDK) 是一个免费的开放源...
Flex会议管理系统是一款基于Adobe Flex技术开发的高效、易用的会议管理软件。Flex是一种富互联网应用程序(Rich Internet Application,RIA)框架,它允许开发者构建具有交互性极强、用户体验优良的Web应用程序。在...