——杂言:audio.js结合使用html5的audio组件实现了音频的原位播放功能。虽然项目里已经使用一段时间了,不过我是最近才开始有所接触,惭愧。个人见解若有不对,请帮忙纠正,谢谢。

官方相关链接:
 
基本使用步骤:
1.下载 audio.jsplayer-graphics.gif,   audiojs.swf
2.添加audio.js引用代码
<script src="/audiojs/audio.min.js"></script>
3.添加音频预览初始化js代码
<script>
audiojs.events.ready(function() {
varas = audiojs.createAll();
});
</script>
4.在你需要播放的html页面中添加<audio>标签
<audio src="/mp3/juicy.mp3"preload="auto" />
 
我遇到的:
  • Q1:绑定ajax出来的<audio>对象(存在的现象是:<audio>对象多次绑定时,播放事件失败)
  • Q2:java的fileName和path的编码问题(针对中日文)
  • Q3:关于preload跟加载的效果
 
解决方法:
  • A1:这个我的处理方式是每个audio都检查下src是否相同,相同的则不重新绑定,否则视为新元素。绑定方法见上述步骤3。
  • A2:java处理中日文字符串的乱码问题
  • A3:preload="auto"表示页面载入时音频也同时开始缓冲;preload="none"表示用户点击播放按钮以后音频才开始载入,并缓冲,之后再播放。
 
这里有个注意点: IE(ie7, ie8, ie9, ie10, ie11), safari7.0.1下要求是本地资源,也就是url对应的资源必须是下载好的,不然会加载失败;
        其他浏览器(firefox26.0, chrome31.0, opera12.15),我目前测试,remoteUrl没问题。

关于audio.js的研究的更多相关文章

  1. audio.js – 随时随地,播放 HTML5 的声音

    audio.js是一个HTML5标签的简易包装.但它不仅在支持HTML5的浏览器上能够轻松调用标签,并在不支持HTML5的浏览器上也能通过Flash作为B计划使用.除此之外,audio.js所提供的界 ...

  2. js深入研究之Person类案例

    <script type="text/javascript"> /* 定义一个Person类 */ function Person(name, age) { this. ...

  3. js深入研究之扩展类,克隆对象,混合类(自定义的extend函数,clone函数,与augment函数)

    1.类扩展 /* EditInPlaceField类 */ /* 扩展函数 */ function extend(subClass, superClass) { var F = function() ...

  4. js深入研究之克隆,属性,数组,对象,函数

    代码 <script type="text/javascript"> /* 克隆原型得到对象 */ function clone(object) { function ...

  5. js深入研究之神奇的匿名函数类生成方式

    <script type="text/javascript"> var Book = (function() { // 私有静态属性 ; // 私有静态方法 funct ...

  6. js深入研究之牛逼的类封装设计

    <script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { ...

  7. js深入研究之函数内的函数

    第一种 function foo() { ; function bar() { a *= ; } bar(); return a; } 第二种 function foo() { ; function ...

  8. js深入研究之类定义与使用

    js可以定义自己的类 很有意思 <script type="text/javascript"> var Anim = function() { alert('nihao ...

  9. 纯CSS实现JS效果研究

    利用CSS3:checked选择器和~配合实现tab切换 效果: 代码: <style> body,div,input,label{ margin:0; padding:0; } #tab ...

随机推荐

  1. (转载)C #开源框架

    Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单.通过Li ...

  2. 创建图形用户界面GUI和事件监听机制的简单实现(java)

    创建图形化界面 1.创建Frame窗体      2.对窗体进行基本设置 比如:大小.位置.布局      3.定义组件      4.将组建通过窗体添加到窗体中 5.让窗体显示,通过setVisib ...

  3. 尽量不要在viewWillDisappear:方法中移除通知

    1.iOS7新增加了导航控制器侧滑手势,当触发侧滑返回时,会调用系统的viewWillDisappear:方法,取消侧滑返回时又会调用viewWillAppear:方法.   2.在做手势和通知等一系 ...

  4. [算法]找到无序数组中最小的K个数

    题目: 给定一个无序的整型数组arr,找到其中最小的k个数. 方法一: 将数组排序,排序后的数组的前k个数就是最小的k个数. 时间复杂度:O(nlogn) 方法二: 时间复杂度:O(nlogk) 维护 ...

  5. poj 3126 Prime Path 【bfs】

    题目地址:http://poj.org/problem?id=3126 Input One line with a positive number: the number of test cases ...

  6. POJ 2492 并查集 A Bug's Life

    #include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> ...

  7. RabbitMQ之Exchange

    交换机的作用: 生产者发送消息不会向传统方式直接将消息投递到队列中,而是先将消息投递到交换机中,在由交换机转发到具体的队列,队列在将消息以推送或者拉取方式给消费者进行消费,这和我们之前学习Nginx有 ...

  8. Storm- 使用Storm实现词频汇总

    需求:读取指定目录的数据,并实现单词计数的功能 实现方案: Spout来读取指定目录的数据,作为后续Bolt处理的input 使用一个Bolt把input 的数据,切割分开,我们按照逗号进分割 使用一 ...

  9. Codeforces 180C Letter:dp

    题目链接:http://codeforces.com/problemset/problem/180/C 题意: 给你一个字符串s,长度为n. 让你将这个字符串变成“前面一段都是大写字母,后面一段都是小 ...

  10. GeoServer基础教程(三):部署发布Shapefile地图数据

    转载:http://blog.csdn.net/mingzai624. 这是GeoServer官方网站提供的一份Shapefile测试数据 nyc_roads.zip ,包含了部分纽约的道路信息,我们 ...