a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 辦公 > Flash > 正文

[FLASH基礎教程合集一]控制動畫聲音的停止和播放

2020-01-28 14:01:16
字體:
來源:轉載
供稿:網友

  今天有閃友問到如何控制AS3中的聲音問題,用下面的小實例說明:

Flash

/*

As3Sound.as

*/

package {

import flash.display.Sprite;

import flash.events.*;

import flash.media.Sound;

import flash.media.SoundChannel;

import flash.net.URLRequest;

import flash.utils.Timer;

import flash.text.TextField;

import flash.text.TextFieldAutoSize;

import flash.filters.DropShadowFilter;

public class As3Sound extends Sprite {

private var url:String = "http://XXX.com/music/XXX.mp3";

private var soundFactory:Sound;

private var channel:SoundChannel;

private var positionTimer:Timer;

private var play_btn:Sprite;

private var stop_btn:Sprite;

private var d_filtersropShadowFilter=new DropShadowFilter(5,45,0x000000,80,8,8);

//用于記錄音樂現在是否為暫停狀態

private var bSoundStop:Boolean = false;

public function As3Sound() {

var sxl_txt:TextField = new TextField();

sxl_txt.text="CS4中如何控制聲音的播放或停止的";

sxl_txt.autoSize=TextFieldAutoSize.LEFT;

sxl_txt.x=stage.stageWidth/2-sxl_txt.width/2;

sxl_txt.y=20;

addChild(sxl_txt);

var mp3_request:URLRequest = new URLRequest(url);

soundFactory = new Sound();

//成功加載數據后

soundFactory.addEventListener(Event.COMPLETE, completeHandler);

//在存在可用于 MP3 聲音的 ID3 數據時

soundFactory.addEventListener(Event.ID3, id3Handler);

//加載音樂錯誤時

soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

//音樂加載中...

soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);

soundFactory.load(mp3_request);

channel = soundFactory.play();

//音樂播放完成

channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);

//用Timer監聽音樂的播放進度

positionTimer = new Timer(1000);

positionTimer.addEventListener(TimerEvent.TIMER, positionTimerHandler);

positionTimer.start();

//創建一個按鈕,用于播放音樂

play_btn = new Sprite();

play_btn.graphics.beginFill(0xFFCC32);

play_btn.graphics.drawRoundRect(0, 0, 70, 18, 10, 10);

play_btn.graphics.endFill();

var play_txt:TextField = new TextField();

play_txt.text = "播放";

play_txt.x=18;

play_btn.x=50;

play_btn.y=100;

play_txt.selectable = false;

play_btn.addChild(play_txt);

play_btn.filters=[d_filters];

play_btn.addEventListener(MouseEvent.CLICK, soundPlay);

addChild(play_btn);

//創建一個按鈕,用于停止音樂

stop_btn = new Sprite();

stop_btn.graphics.beginFill(0xFFCC32);

stop_btn.graphics.drawRoundRect(0, 0, 70, 18, 10, 10);

stop_btn.graphics.endFill();

stop_btn.x=130;

stop_btn.y=100;

var stop_txt:TextField = new TextField();

stop_txt.x=18;

stop_txt.text = "暫停";

stop_txt.selectable = false;

stop_btn.addChild(stop_txt);

stop_btn.filters=[d_filters];

stop_btn.addEventListener(MouseEvent.CLICK, soundStop);

addChild(stop_btn);

}

//監聽音樂的播放進度

private function positionTimerHandler(event:TimerEvent):void {

var ybf:int = channel.position.toFixed(0);

var zcd:int = soundFactory.length;

var bfs:int = Math.floor(ybf/zcd*100);

//trace("音樂總長度:"+zcd, "音樂已播放:"+ybf, "播放進度為:"+bfs+"%");

}

//加載音樂完成時

private function completeHandler(event:Event):void {

//trace("加載音樂完成: " + event);

}

//在存在可用于MP3聲音的ID3數據時

private function id3Handler(event:Event):void {

//trace("音樂的ID3信息如下:");

for (var s in soundFactory.id3) {

//trace(" ", s, ":", soundFactory.id3[s]);

}

//trace("關于ID3信息介紹,請參見Sound類-->屬性-->id3");

}

//加載音樂錯誤時

private function ioErrorHandler(event:Event):void {

//trace("加載音樂錯誤,錯誤信息如下:" + event);

positionTimer.stop();

}

//加載音樂時

private function progressHandler(eventrogressEvent):void {

var yjz:int = event.bytesLoaded;

var zcd:int = event.bytesTotal;

var bfs:int = Math.floor(yjz/zcd*100);

//trace("音樂總長度:"+zcd,"已加載: "+yjz, "加載進度為:"+bfs+"%");

}

//音樂播放完成

private function soundCompleteHandler(event:Event):void {

//trace("音樂播放完成: " + event);

positionTimer.stop();

}

//點擊播放按鈕事件

private function soundPlay(event:MouseEvent):void {

if (bSoundStop) {

bSoundStop = false;

channel = soundFactory.play(channel.position.toFixed(0));

}

}

//點擊停止按鈕事件

private function soundStop(event:MouseEvent):void {

if (!bSoundStop) {

bSoundStop = true;

channel.stop();

}

}

}

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩欧美在线视频播放 | 国产伦精品一区二区 | 亚洲午夜性视频 | 午夜精品久久久久久久 | 成人av免费观看 | 精品久久久久久久久久久久 | 色图一区 | 天堂动漫| 超碰最新在线 | 久久伊人在| 国产毛片一区二区 | 国产伦精品一区二区三区高清 | 精品一区二区视频 | 日本一区二区高清视频 | 九九久久免费视频 | www.久久.com | 91精品一区二区 | 日韩视频一区二区三区四区 | 中文字幕国产高清 | 免费观看羞羞视频网站 | 日韩中文字幕电影在线观看 | 国产精品大片在线观看 | 精品国产依人香蕉在线精品 | 夜夜夜久久久 | 中文字幕精品一区二区三区精品 | 亚洲国产精品久久久久 | 欧美日韩一区不卡 | 亚洲久久视频 | 成人一区二区av | 午夜激情网 | 亚洲精品欧美视频 | 国产九九九| 一区免费看 | 91中文字幕 | 国产视频福利在线 | 欧美日韩精品一区二区在线播放 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲精品在 | 国产精品一区二区不卡 | 国产免费观看一区二区三区 | 污网址 |