`
atian25
  • 浏览: 467707 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多

回答问题: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 楼 yxskkk123 2009-08-19  
在调用方法的时候老是说SoundSwf未定义

相关推荐

    兼容ie6/ie7/ie8/ff 省市县的js

    标题“兼容ie6/ie7/ie8/ff 省市县的js”指的是一个JavaScript插件或库,其主要目的是解决浏览器兼容性问题,特别是针对较老版本的Internet Explorer(IE6、IE7、IE8)以及Firefox(FF)。这个选择器功能允许用户在...

    java跨全域兼容ie/ff/chrome浏览器多文件上传(原创)

    本示例通过"java跨全域兼容ie/ff/chrome浏览器多文件上传(原创)"的标题,我们可以看出这是一个解决浏览器兼容性问题并实现跨域文件上传的解决方案。下面将详细解释这个主题涉及的关键知识点。 1. **跨域资源共享 ...

    js绘图类库(兼容IE/FF/chrome) web流程图、图表

    1、基于raphael2.0的绘图(内含大量...2、几乎兼容所有浏览器包括ie, firefox,chrome,opera, Safari 3、内含说明文档和演示代码,详见demo文件夹 4、可动态拖动图形(贝磁曲线、动态拾色器、图表、地图导航、流程图等)。

    图片模糊化,支持FF/IE6以上

    - 标题提到“支持FF/IE6以上”,意味着这个解决方案需要兼容Firefox和Internet Explorer 6及更高版本。CSS3的滤镜在Firefox中是原生支持的,但对于旧版的IE,可能需要使用jQuery或者其他JavaScript库来模拟实现。 ...

    兼容FF/IE跟随鼠标的层的效果

    ### 兼容FF/IE跟随鼠标的层的效果 在早期的网页开发中,实现一个能够跟随鼠标移动的层是一项常用的技术。这样的效果可以用于多种场景,比如浮动菜单、提示框等。本文将详细介绍如何实现一个既能在Internet Explorer...

    通过CSS Hack 区分 FF/IE7/IE6/IE5.5/IE5 代码推荐

    ### 通过CSS Hack 区分 FF/IE7/IE6/IE5.5/IE5 代码推荐 在Web开发过程中,我们经常会遇到浏览器兼容性问题。不同的浏览器对CSS的支持程度不同,特别是在早期版本的Internet Explorer(IE)与Firefox(FF)之间。...

    (兼容ff/ie)td点击背景变色特效

    ### (兼容FF/IE)TD点击背景变色特效解析 #### 一、概述 本文将详细介绍一个兼容Firefox(FF)和Internet Explorer(IE)浏览器的HTML表格单元格(`&lt;td&gt;`)点击背景变色特效的实现方法。该特效允许用户通过点击...

    Js信息提示层(兼容ie6/ie7/ie8/FF)

    做web开发时,大家经常在数据输入时要做选择,有时需要辅助输入,但用select下拉框用户体验不好,所以很多时候要用到信息输入提示,点击一下显示输入信息,让用户作选择,本demo就很好做到了这一点,希望大家用得到,用的是...

    FF和IE的兼容性问题总结

    FF和IE的兼容性问题一直是前端开发者面临的重要挑战。这些浏览器在处理JavaScript、DOM操作以及事件处理等方面的差异,可能导致代码在不同浏览器上表现不一致。以下是对这些兼容性问题的详细解析和解决策略: 1. **...

    浏览器兼容解决FF/IE6/IE7背景专用CSS HACK

    这里我们将探讨两种针对FF/IE6/IE7背景颜色的CSS HACK方法。 **方案一:** 在方案一中,我们看到这样的CSS代码: ```css .bgc { width: 200px; height: 200px; background-color: orange; /* FF */ *...

    FF和IE兼容性问题

    本文将深入探讨FF和IE之间的CSS兼容性问题,以及如何解决这些差异。 首先,让我们来看标题和描述中提到的问题:如何使`DIV`或`table`在IE和Firefox中水平居中。在CSS中,有多种方法可以实现这个效果,但并非所有...

    CSS完美兼容IE6IE7FF的通用方法

    ### CSS完美兼容IE6、IE7与Firefox的通用方法详解 在Web开发的历史长河中,浏览器兼容性一直是开发者面临的重大挑战,尤其是处理早期版本的Internet Explorer(IE6和IE7)与现代浏览器如Firefox之间的差异。本文将...

    解决IE5/IE5.5/IE6/FF的兼容性问题——CSS

    ### 解决IE5/IE5.5/IE6/FF的兼容性问题——CSS 随着Web技术的发展,浏览器之间的差异一直是前端开发人员头疼的问题之一。尤其是对于早期的浏览器(如Internet Explorer 5/5.5/6 和 Firefox),由于它们对CSS的支持...

    JavaScript兼容浏览器FF/IE技巧

    由于浏览器的差异性,相同的JavaScript代码可能在Internet Explorer(IE)和Mozilla Firefox(MF/FF)中表现不一致。为了确保用户体验的一致性以及减少技术问题带来的客户投诉,掌握一些JavaScript兼容性处理技巧是...

    JQuery 游戏 对对碰 源代码 兼容IE/FF

    本篇文章将深入探讨一个使用jQuery实现的“对对碰”游戏,它具有良好的浏览器兼容性,包括IE和Firefox,并且能在智能手机浏览器上正常运行。下面,我们将分析这个游戏的实现原理、核心功能以及如何优化和扩展。 ...

    IE6/IE7/IE8兼容本地上传图片并预览源代码

    在提供的“兼容ie678 and FF的本地图片预览.html”文件中,开发者可能采用了`&lt;iframe&gt;`或`ActiveXObject`来实现预览。`&lt;iframe&gt;`可以创建一个独立的浏览上下文,这样可以在不影响主页面的情况下加载和显示图片。而`...

    jsencrypt.js 兼容IE,Chrome,FF

    jsencrypt 兼容IE8,Chrome,FF,包括exports.default,Object.defineProperty不兼容问题处理等。

    无缝兼容FF\IE的js跑马灯

    本教程将详细介绍如何创建一个无缝兼容Firefox(火狐浏览器)和Internet Explorer(IE浏览器)的js跑马灯效果。 1. **JavaScript基础知识**: 在开始之前,我们需要对JavaScript的基础知识有一定了解。JavaScript...

    ie6 ie7 ff浏览器兼容

    #### 标题解析:“ie6 ie7 ff浏览器兼容” 该标题明确指出了文章关注的核心问题——即确保网页能在IE6、IE7及Firefox等浏览器中正确显示。这意味着开发者需要采取一定的措施来适配这些浏览器,确保无论用户使用何种...

Global site tag (gtag.js) - Google Analytics