当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 用javascript实现利用FLASH嵌入声音

Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
统一接口:为FireFox添加IE的方法和属性的js代码
网页自动刷新,不产生嗒嗒声的一个解决方法
驱动事件的addEvent.js代码
[原创]提供复制本站内容时出现,该文章转自IT学习网等字样的js代码
CSDN轮换广告图片轮换效果
一段多浏览器的"复制到剪贴板"javascript代码
Javascript中的常见排序算法
JS Common 2 之比较常用到的函数
非正则实现的只能输入汉字的输入框
CSDN上快速结贴的方法,JS实现
js eval木马代码,以后再分析吧
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
一个不错的可以检测多中浏览器的函数和其它功能
状态栏显示欢迎信息的脚本特效
关于文本限制字数的js代码
在你的网页中嵌入外部网页的方法
在IE中调用javascript打开Excel的代码(downmoon原作)
javascript实现动态增加删除表格行(兼容IE/FF)
javascript中获取选中对象的类型

Javascript 中的 用javascript实现利用FLASH嵌入声音


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 316 ::
收藏到网摘: n/a

    本JavaScipt教程将让你感受到FLASH给您带来有声世界的无穷魅力。在开始本教程之前,我先介绍一下本教程涉及到的内容:隐藏嵌入的SWF、 播放流同步的SWF、 从指定的帧上开始流、 停止和播放流、 检查是否磁道在播放、 检查是否播放器准备好、 检查SWF转载的百分比、验证SWF是否完全装载好、检查播放器的版本号、设置最小的播放器版本号、 清除错误信息等等。好吧,开始我们的教程吧。



隐藏嵌入的SWF

FlashSound的JavaScript API往网页插入一个FlashSound对象,随同插入还有embedSWF()方法。但是在网页中我们为什么不能看到这个对象呢?哦,原来是FlashSound隐藏了这个对象。在Internet浏览器中,FlashSound是这个对象变得透明,也就是说你看不到这个对象,但实际上它是存在的。而在Netscape浏览器中,这个对象的颜色被指定为跟网页相同的颜色,所以你也看不到它。你可以在Netscape浏览器中通过使用bgcolor属性来设置对象的颜色。以上两种方法正是隐藏对象的核心所在。试一试吧,下面我的代码是实现当鼠标移过对象时播放scale.swf文件,所以我们这样来创建FlashSound对象:

<SCRIPT>

mySoundObj.bgcolor = "#0000ff";

mySoundObj.embedSWF("scale.swf");

</SCRIPT>

下面的代码可以让你在Netscape浏览器中看到在“Play a Scale”下面有一个小点,它正是我们创建的FlashSound,因为此时它的颜色不是与网页的背景色相同,看看代码吧:

<HTML>

<HEAD>

<SCRIPT SRC="flashsound.js"></SCRIPT>

<SCRIPT>

var mySoundObj = new FlashSound();

</SCRIPT>

</HEAD>

<BODY>

<P><A HREF="javascript://"

onmouseover="mySoundObj.TGotoAndPlay('/scale-event', 'start')">

Play a Scale</A>

<SCRIPT>

mySoundObj.bgcolor = "#0000ff";

mySoundObj.embedSWF("scale.swf");

</SCRIPT>

播放流同步的SWF

Flash文件格式支持四种同步的类型:Event(事件)、Start(开始)Stop(停止)和Stream(流)。事件同步允许你同时播放多个磁道的声音;开始同步可以避免并行的磁道播放;停止同步作用是停止磁道播放;而对于流同步声音包含了声音的帧尺寸样式,它可以反复地天衣无缝地播放。不象其它真实的流声音格式(比如Real Audio),Flash流文件是在播放的时候装载到浏览器中去的。当播放结束的时候,这个流声音就全部被装载浏览器的高度缓冲区中。所以在接下去的播放是来源与浏览器的告诉缓冲区,而不是来源于网页。

以下的连接是播放一个流同步,它解释了FlashSound的JavaScript API,代码如下:

<HTML>

<HEAD>

<SCRIPT SRC="flashsound.js"></SCRIPT>

<SCRIPT>

var mySoundObj = new FlashSound();

</SCRIPT>

</HEAD>

<BODY>

<SCRIPT>

mySoundObj.embedSWF("earsonly.swf");

</SCRIPT>

</BODY>

</HTML>

这里值得注意的是Flash声音被设置在Flash编辑器中来自动开始播放。
从指定的帧上开始流 FlashSound的JavaScript API支持象CD播放器那样的随机访问磁道中任何帧的能力。所以你可以指定任意的帧好来播放你喜欢的声音。

如图1所示的四个连接是连到一个典型的CD播放器控制面板上,第一个连接是回到第一帧开始播放,第二个连接是否从第100帧处开始播放,第三个连接是从第200帧处开始播放,而第四个连接是暂停所有的播放。



(图1)

详细的代码如下:

<HTML>

<HEAD>

<SCRIPT SRC="flashsound.js"></SCRIPT>

<SCRIPT>

var mySoundObj = new FlashSound();

</SCRIPT>

</HEAD>

<BODY>

<A HREF="javascript://"

onmouseover="mySoundObj.TGotoAndPlay('/',1)">

从第1帧开始播放</A>

<A HREF="javascript://"

onmouseover="mySoundObj.TGotoAndPlay('/',100)">

从第1000帧开始播放</A>

<A HREF="javascript://"

onmouseover="mySoundObj.TGotoAndPlay('/',200)">

从第200帧开始播放</A>;

<A HREF="javascript://"

onmouseover="mySoundObj.TStopPlay('/')">

暂停</A><

<SCRIPT>

mySoundObj.autostart = false;

mySoundObj.embedSWF("earsonly.swf");

</SCRIPT>

</BODY>

<