兼容FF/IE的告警声播放(基于flash)

本文介绍了一种使用Flash实现网页背景音乐播放的方法。通过Flash与JavaScript交互,实现了音乐的播放控制。示例代码包括Flash端的AS3代码及JS端的调用示例。

回答问题:http://www.iteye.com/problems/22309

 

一般做背景声的做法是用bgsound或embed,但是它们跟浏览器都有关,不如直接用flash来做得方便.

 

 

1.FLASH端代码如下:

//SoundSwf.as
package {
	import flash.display.*;
	import flash.events.*;
	import flash.media.Sound;
	import flash.net.URLRequest;
	import flash.external.ExternalInterface;
	import flash.utils.*;
	
	public class SoundSwf extends Sprite{
		private var map:Object = new Object();
		public function SoundSwf():void{
			if (ExternalInterface.available){
				ExternalInterface.addCallback("playSound", this.playSound);
			}
		}
		public function playSound(url:String,count:int):void{
			var s:Sound;
			if(!map.hasOwnProperty(url)){
				s = new Sound();
				map.url=s;
				s.addEventListener(Event.COMPLETE,function(e:Event):void{
    				var localSound:Sound = e.target as Sound;
    				localSound.play(0,count);
				});
				s.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void{ExternalInterface.call("alert", e);});
				s.load(new URLRequest(url));
			}else{
				s = map.url as Sound;
				s.play(0,count);
			}
		}
	}
}
 

2. JS端调用:

<noscript>
	<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1" height="1" id="SoundSwf" align="middle">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="allowFullScreen" value="false" />
	<param name="movie" value="SoundSwf.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />	<embed src="SoundSwf.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="SoundSwf" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_cn" />
	</object>
</noscript>
<script>
	window.onload=function(){
		SoundSwf.playSound('event.mp3',2);
		//SoundSwf.playSound('alarm.mp3',1);
		//SoundSwf.playSound('event.mp3',4);
	}
</script>
 

详细见附件.

ps: js段建议用SwfObject来载入swf.

另外,该示例中, 在onload事件里面调用是不可靠的,因为有可能这时候swf还没初始化完

 

1.引言 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入了解是软件开发工作获得成功的前提条件,不论吧设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。 需求分析是软件定义时期的最后一个间断,他的基本任务是准确地回答“系统必须做什么?”这个问题。 需求分析和规格说明是一项十分艰巨复杂的工作。用户与分析员之间需要沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。因此,不仅在整个需求分析过程中应该采用行之有效的通信技术,集中精力过细地工作,而且必须严格审核验证需求分析的结构。在所有这些分析方法中,我们都必须遵循下述准则: (1) 必须理解并描述问题的信息域,根据这条准则应该建立数据模型 (2) 必须定义软件应完成的功能,这条准则要求建立功能模型 (3) 必须描述作为外部事件结构的软件行为,这条准则要求建立行为模型 (4) 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节 接下来我们将严格根据需求分析的要求与书写软件需求规格说明书的过程阐述系统必须完成那些工作,对该点评网提出完整、准确、清晰、具体的要求。过程中不免有问题与
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值