jquery封装audio5js实现语音播放器的例子

首先先简单介绍一下Audio5js吧。

Audio5js是一个能够帮助你解决类似这样的浏览器兼容性问题的js类库,轻量级并且能够很优雅的使用flash向前兼容老版本的浏览器。

其主要特性:

拥有完整API来控制“加载”,“播放”,“暂停”,“音量”和“查找”

并且可以得到播放内容的具体相关信息

不依赖任何类库

兼容版本浏览器,包括:IE8, IE9, Chrome 23 (Mac), Firefox 17 (Mac), Safari 6, Opera 12 (Mac), Safari Mobile (iOS 6.0), Webkit Mobile (Android 4.0.4)

Audio5js 官方地址:http://zohararad.github.io/audio5js/

下面开始介绍封装方式

1、自定义Jquery插件方法:jquery.audio5js.js

/**

    使用方式:

    如:

    $("#voice1").audio5js({

        url : "voice/demo.mp3"

    });

 */

!function ($) {

    var Audio = function (element, options) {

        this.$element = $(element);

        this.options = $.extend({}, $.fn.audio5js.defaults, options);

        this.init();

    };

    Audio.prototype = {

        constructor : Audio,

        // 初始化导航

        init : function(){

            var settins = this.options;

            var ele = this.$element;

            var audio = this;

            // 初始化样式

            ele.addClass(settins['class']);

            ele.attr("title", settins.title);

            // 初始化audio5js

            settins.audio5js = new Audio5js({

                swf_path: 'https://cdnjscn.b0.upaiyun.com/libs/audio5js/0.1.9/audio5js.swf',

                  ready: function(){

                    this.load(settins.url);

                    ele.click(function(){

                        audio.playPause();

                    });

                    this.on('play', function () {

                        ele.removeClass(settins['class']);

                        ele.addClass(settins.playingClass);

                    }, this);

                    this.on('pause', function () {

                        ele.removeClass(settins.playingClass);

                        ele.addClass(settins['class']);

                    }, this);

                      this.on('ended', function () {

                          ele.removeClass(settins.playingClass);

                        ele.addClass(settins['class']);

                      }, this);

                    //error event passes error object to callback

                      this.on('error', function (error) {

                        //alert("播放出错!");

                      }, this);

                  }

            });

        },

        playPause : function () {

            var audio5js = this.options.audio5js;

            if (audio5js.playing) {

                  audio5js.pause();

                  audio5js.volume(0);

            } else {

                audio5js.seek(0); //回到最开始的位置

                  audio5js.play();

                  audio5js.volume(1);

            }

          },

          pause : function(){

              var audio5js = this.options.audio5js;

              if (audio5js.playing) {

                  audio5js.pause();

                  audio5js.volume(0);

              }

          },

          play : function(){

              var audio5js = this.options.audio5js;

              if (!audio5js.playing) {

                  audio5js.play();

                  audio5js.volume(1);

              }

          },

          getAudio5js : function(){

              return this.options.audio5js;

          }

           

    };

    $.fn.audio5js = function (option, value) {

        var methodReturn;

        var $set = this.each(function () {

            var $this = $(this);

            var data = $this.data('audio');

            var options = typeof option === 'object' && option;

            if (!data) {

                $this.data('audio', (data = new Audio(this, options)));

            }

            if (typeof option === 'string') {

                methodReturn = data[option](value);

            }

        });

        return (methodReturn === undefined) ? $set : methodReturn;

    };

    $.fn.audio5js.defaults = {

        url : "", //音频文件地址

        title : "点击播放",

        'class' : "audio", // 正常样式class

        playingClass : "audio-playing", // 播放时样式class

        audio5js : {}

    };

    $.fn.audio5js.Constructor = Audio;

}(window.jQuery);

2、语音插件样式:jquery.audio5js.css

/*播放样式*/

.audio {

    cursor: pointer;

    background: url("../images/voice.png") 0 -512px no-repeat;

    width: 60px;

    height: 60px;

    vertical-align: middle;

    display: inline-block;

}

.audio-playing {

    cursor: pointer;

    background: url("../images/voice.gif") 0 0 no-repeat;

    width: 60px;

    height: 60px;

    vertical-align: middle;

    display: inline-block;

}

 3、案例页面:index.html

<!DOCTYPE html>

<html>

    <head>

        <title>Jquery Audio5js Demo</title>

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <link rel="stylesheet" href="css/jquery.audio5js.css" />        

        <script type="text/javascript" src="
https://cdnjscn.b0.upaiyun.com/libs/jquery/1.8.3/jquery.min.js"></script
>        

        <script type="text/javascript" src="
https://cdnjscn.b0.upaiyun.com/libs/audio5js/0.1.9/audio5.min.js"></script
>

        <script type="text/javascript" src="js/jquery.audio5js.js"></script>

    </head>

    <body>

        标准案例:点击图片可以播放/暂停<br />

        <span id="voice1" ></span>

         

        <br />

        <br />

        <br />

        JS控制:<br />

        <input type="button" value="播放/停止" onclick="$('#voice1').audio5js('playPause')" />

        <input type="button" value="播放" onclick="$('#voice1').audio5js('play')" />

        <input type="button" value="暂停" onclick="$('#voice1').audio5js('pause')" />

        <script type="text/javascript">

        $(function(){

            $("#voice1").audio5js({

                url : "voice/demo.mp3"

            });

        });

        </script>

    </body>

</html>

4、样式的图片资源与案例的音频文件在第5点中,请另行下载。

5、完整下载

jquery-audio5js.zip

6、经测试:Chrome 44、QQ浏览器9、Firefox 35、IE 5/7/8/9/10/+可用,其它未测试。

注意:IE5/7/8的中自动切换为flash播放器播放,但由于浏览器与flash播放器的安全性问题,需要将文件放置到中间件(如Tomcat)中才能见效果。

 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, class
, 浏览器
this
jetaudio播放器、audio 音频播放器样式、audio音乐播放器、jetaudio播放器中文版、audio 播放器,以便于您获取更多的相关知识。

时间: 2024-08-08 18:37:37

jquery封装audio5js实现语音播放器的例子的相关文章

jQuery歌词同步的音乐播放器插件DEMO演示

今天要分享的一款基于jQuery的音乐播放器,它的特点是歌词和音乐可以同步播放,而且播放器整体非常精巧,适当修改可以作为你博客的播放器挂件. html代码  代码如下 复制代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery歌词同步的音乐播放器插件DEMO演示</title> <meta name="viewpor

html5使用Audio标签打造音乐播放器的例子

这个是我们今天的重头戏,也是一切的根源,使用HTML5的audio标签去打造播放器,在用这个之前我们需要了解些audio标签的基本用法. 你可以这样: <audio controls>   <source src="horse.ogg" type="audio/ogg">   <source src="horse.mp3" type="audio/mpeg"> 您的浏览器不支持 audio

HTML5响应式可触控的音频播放器实现例子

HTML5的audio提供了音频播放功能,但是原生的播放器样式不怎么好看,而且各浏览器对audio的外观展现不统一.我们可以对audio稍微包装下,便可实现一个响应式的可触控的漂亮的播放器. HTML   <audio preload="auto" controls autoplay>     <source src="audio.wav" />     <source src="audio.mp3" />  

Flex4制作一个带波形的MP3播放器的例子

下面是一个使用Flex制作的MP3播放器,除了音量调节,左右声道调节,播放暂停外.还会通过对声音的采样进行动态波形图的绘制.效果图如下:   代码如下 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=" http://ns.adobe.com/mxml/2009 "                xmlns:s="library://ns.a

基于VLC的播放器开发

VLC的C++封装 因为工作需要,研究了一段时间的播放器开发,如果从头开始做,可以学习下FFmpeg(http://www.ffmpeg.org/),很多播放器都是基于FFmpeg开发的,但是这样工作量和难度都比较大,如果想很快能拿出一个播放器来用的,可以研究下开源的播放器,参考下射手播放器作者的文章:媒体播放器三大底层架构. 对比下现有的主流播放器:媒体播放器列表,VLC是在各个方面都表现很突出的一款.VLC 是一款免费.自由.开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,DVD.音

jQuery TML5播放器连续播放分段视频方法

首先多播放器窗口,除了一个以外display:none,一般需求中两个就足够了.然后监听是否结束(关于监听,稍后再发一篇讲讲Javascript的监听问题),监听本P播放结束之后将下一个的链接赋值到隐藏的那个,交替display,进度条当然需要重做,这里就需要统计总时长了. 当然理论上很好想,实际在用的时候还是遇到了一些问题: 最近由于工作需要在研究HTML5的播放器,HTML5其实自带的已经很全了,但是当我们需要把切割的视频整合播放的时候就遇到了麻烦,这里我想到了一个思路,正好发现网上也提到了

C#视频监控系列(11):H264播放器——封装API[HikPlayM4.dll]

前言 当你认真的写完客户端和服务器端的时候可能不需要再继续往下看关于播放器的代码和说明,因为你已经掌握了如何转换VC++ 代码的技巧了,加上GOOGLE再来完成这个播放器应该算小菜了.但是作为我的系列,我还是有必要认真的将这部分写完才算完整,和前面一样 ,先贴封装好的API. 正文 HikPlayM4.dll源码见附件 结束 和前面一样注意API可能存在误差,随后的文章将保持本文的更新!! 附件

jquery 音乐播放器效果插件 jPlayer

<!doctype html public '-//w3c//dtd xhtml 1.0 transitional//en' 'http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en'> <head> <title>jquery 音乐播放器效果插件 jplayer<

谁知道百度语音那种音频播放器怎么弄的么,可以给小弟下源码么

问题描述 谁知道百度语音那种音频播放器怎么弄的么,可以给小弟下源码么 就是那种像扩音器一样的,就是那种像扩音器一样的就是那种像扩音器一样的就是那种像扩音器一样的就是那种像扩音器一样的就是那种像扩音器一样的 解决方案 http://download.csdn.net/download/mishi66/2505963