⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfsound.as

📁 flash强大事件机制扩展类
💻 AS
字号:
//----------------------------------------
/*
@Description:  	继承自Sound类.
增加的方法和属性:
----------------------------------------
//方法:
public play():Void								播放声音.
public pause():Void								暂停声音.
public getPlayTimer(isReduce:Boolean):String	获取当前播放的时间,格式为"00:00".isReduce 是否减少.默认为增加.
public getLoadPercentage(p:Number):Number		获取加载百分比.p(百分比) 属性值默认为 100.
public getPlayPercentage(p:Number):Number		获取播放百分比.p(百分比) 属性值默认为 100.

public setClipTotalTime(c1:MovieClip, c2:MovieClip, s1:MovieClip, s2:MovieClip):Void
用影片剪辑显示声音的总时间.参数: c1,c2,s1,s2 相当于 "00:00". 
这些影片都有10帧.第一帧要停止影片播放.帧的内容是 0-9.就是第一帧显示0,第二帧显示1...到10.

public setClipPlayTime(c1:MovieClip, c2:MovieClip, s1:MovieClip, s2:MovieClip, isReduce:Boolean):Void
当前播放的时间,同上. isReduce 同 getPlayTimer .

public toString():String 						返回类名称"[CFSound]";
//属性:
public totalTime:Number[只读]					声音的总时间,格式为"00:00".
public isPlaying:Boolean[只读]					声音是否正在播放.
----------------------------------------
@usage:   		
@example: 
//
请查看 Example/AS2/media/CFSound/CFSoundExample.fla 示例文档.
//
@author:  ChooseFlash
@date:	  2007-07-08
*/
//----------------------------------------
class AS2.media.CFSound extends Sound
{
	//----------------------------------------
	private var _recordTime:Number = 0;
	private var _isPlaying:Boolean;
	//----------------------------------------
	public function CFSound(target:Object)
	{
		super(target);
	}
	//----------------------------------------
	public function loadSound(url:String, isStreaming:Boolean):Void
	{
		super.loadSound(url, isStreaming);
		this._isPlaying = false;
	}
	public function start(secondOffset:Number, loops:Number):Void
	{
		super.start(secondOffset, loops);
		this._isPlaying = true;
	}
	public function play():Void
	{
		if (!this._isPlaying) {
			super.start(this._recordTime);
			this._isPlaying = true;
		}
	}
	public function pause():Void
	{
		this._recordTime = Math.floor(this.position / 1000);
		this.stopSound();
	}
	public function stop():Void
	{
		this._recordTime = 0;
		this.stopSound();
	}
	public function getPlayTime(isReduce:Boolean):String
	{
		if (isReduce) {
			return this.getSoundTime(this.duration - this.position);
		} else {
			return this.getSoundTime(this.position);
		}
	}
	public function getLoadPercentage(p:Number):Number
	{
		return Math.floor(this.getBytesLoaded() / this.getBytesTotal() * (isNaN(p) ? 100 : p));
	}
	public function getPlayPercentage(p:Number):Number
	{
		return Math.floor(this.position / this.duration * (isNaN(p) ? 100 : p));
	}
	public function setClipTotalTime(c1:MovieClip, c2:MovieClip, s1:MovieClip, s2:MovieClip):Void
	{
		this.setClipTime(this.duration, c1, c2, s1, s2);
	}
	public function setClipPlayTime(c1:MovieClip, c2:MovieClip, s1:MovieClip, s2:MovieClip, isReduce:Boolean):Void
	{
		if (isReduce) {
			this.setClipTime(this.duration - this.position, c1, c2, s1, s2);
		} else {
			this.setClipTime(this.position, c1, c2, s1, s2);
		}
	}
	public function toString():String
	{
		return "[CFSound]";
	}
	//----------------------------------------
	private function getSoundTime(time:Number):String
	{
		var cent:Number = Math.floor((time / 1000) / 60);
		var second:Number = Math.floor((time / 1000) % 60);
		if (cent < 10) {
			if (second < 10) {
				return ("0" + cent + ":0" + second);
			} else {
				return ("0" + cent + ":" + second);
			}
		} else {
			if (second < 10) {
				return (cent + ":0" + second);
			} else {
				return (cent + ":" + second);
			}
		}
	}
	private function setClipTime(time:Number, c1:MovieClip, c2:MovieClip, s1:MovieClip, s2:MovieClip):Void
	{
		var cent:Number = Math.floor((time / 1000) / 60);
		var second:Number = Math.floor((time / 1000) % 60);
		c1.gotoAndStop(Math.floor(cent / 10) + 1);
		c2.gotoAndStop(cent % 10 + 1);
		s1.gotoAndStop(Math.floor(second / 10) + 1);
		s2.gotoAndStop(second % 10 + 1);
	}
	private function stopSound():Void
	{
		this._isPlaying = false;
		super.stop();
	}
	//----------------------------------------
	public function get totalTime():String
	{
		return this.getSoundTime(this.duration);
	}
	public function get isPlaying():Boolean
	{
		return this._isPlaying;
	}
	//----------------------------------------
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -