📄 cfsound.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 + -