【flash控制动画声音的停止和播放器】FLASH控制动画声音的停止和播放


快速阅读 2019-10-24 22:12:59 快速阅读
[摘要]今天有闪友问到如何控制AS3中的声音问题,用下面的小实例说明: *As3Sound as* package {import flash display Sprite;import flash

【www.jsxqjc.com--快速阅读】


  今天有闪友问到如何控制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();
}
}
}
}

本文来源:http://www.jsxqjc.com/ksyd/13502.html

相关阅读
  • 快速阅读术读后感700字系列汇编3篇 快速阅读术读后感700字系列汇编3篇
  • 四六级英语考试“四式”快速阅读 四六级英语考试“四式”快速阅读
  • 英语四级快速阅读解题两步走 英语四级快速阅读解题两步走
  • 四六级考试突破快速阅读四大法则 四六级考试突破快速阅读四大法则
  • 英语四级考试快速阅读解题思路及方法 英语四级考试快速阅读解题思路及方法
  • 15分钟规定时间内完胜英语四六级快速阅读 15分钟规定时间内完胜英语四六级快速阅读
  • 关于人对快速阅读的误解【四篇】 关于人对快速阅读的误解【四篇】
  • 四级考试快速阅读题型特征及解题步骤 四级考试快速阅读题型特征及解题步骤
为您推荐
  • 自考英语快速阅读三大法则
    自考英语快速阅读三大法则
    以下是小编收集整理的自考英语快速阅读三大法则,仅供参考,希望能够帮助到大家。
  • 2016年国家公务员考试行测主旨概括题快速阅读技巧
    2016年国家公务员考试行测主旨概括题快速阅读技巧
    以下是小编为大家收集的2016年国家公务员考试行测主旨概括题快速阅读技巧,仅供参考,欢迎大家阅读。
  • 人对快速阅读的误解范文三篇
    人对快速阅读的误解范文三篇
    快速阅读是一种阅读方法和技巧,是一种可以提高阅读效率的方法和技巧,那你知道人们对快速阅读的有哪些误解吗。下面是小编精心整理的人对快速阅读的误解范文三篇,仅供参考,大家一起来看看吧。
  • 人对快速阅读的误解精选五篇
    人对快速阅读的误解精选五篇
    快速阅读是一种阅读方法和技巧,是一种可以提高阅读效率的方法和技巧,那你知道人们对快速阅读的有哪些误解吗。以下是小编为大家收集的人对快速阅读的误解精选五篇,仅供参考,欢迎大家阅读。
  • 2021年快速阅读的方法及不良习惯(合集3篇)
    2021年快速阅读的方法及不良习惯(合集3篇)
    阅读是人们增长才能、获取知识的重要能力。培养人的阅读能力必须从小抓起。小学生阅读心理发展状态,对其阅读能力提高有着至关重要的作用。以下是小编为大家收集的2021年快速阅读的方法及不良习惯(合集3篇),仅供参考,欢迎大家阅读。
  • 关于英语快速阅读的技巧和方法【三篇】
    关于英语快速阅读的技巧和方法【三篇】
    英语快速阅读的技巧和方法有哪些 现在英语考试的时间特别紧张,几乎没有时间慢慢琢磨,必须要实现英语快速阅读。下面是小编为大家整理的关于英语快速阅读的技巧和方法【三篇】,欢迎大家借鉴与参考,希望对大家有所帮助。
  • 快速阅读术读后感800字【6篇】
    快速阅读术读后感800字【6篇】
    任何时间皆可读书,不需桌椅器具,不需约定时间地点。读完作者写的作品,我对里面的剧情充满了兴趣,读后感有三种写法:一种是缩写内容提纲,一种是写阅读后的体会感想,一种是摘录好的句子和段落。您是否对写好作品的读后感感到一头雾水呢。我们的工作总结之家小编特意搜集并整理了快速阅读术读后感范文,相信你能找到对自
  • 如何写好会议纪要和会议记录_如何写好会议纪要
    如何写好会议纪要和会议记录_如何写好会议纪要
    各级机关、人民团体、企事业单位要经常召开会议,交流情况,研究问题,布置工作等,对会议的情况、精神作归纳整理,将决策意见记载下来,这就形成了会议纪要。因而会议纪要就是记载和传达会议情况和议定事项的公文。
  • 快速阅读的方法训练|快速阅读必须克服的10种不良阅读习惯
    快速阅读的方法训练|快速阅读必须克服的10种不良阅读习惯
    这些习惯妨碍阅读速度和理解,还可能损害身体健康。高效阅读必须克服这些不良阅读习惯。 一、音读 音读包括以下几种情况:①读出声;②唇动;③舌或喉、声带动;④心诵,即大脑 中
  • 快速阅读的方法训练_快速阅读训练中影响注意力的十大因素
    快速阅读的方法训练_快速阅读训练中影响注意力的十大因素
    注意力是心理活动对一定事物的指向和集中。注意力是衡量注意程度的指标,包括注意的广度、稳定性、分配和转移的力度。注意力是智力活动的警卫,也是智力活动的组织者和维护者。前苏联的教育家马申斯基说过:&ldq