——杂言: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. vim复制多行

    比如我要复制从第1行到第5行的数据,复制到第9行 光标移到第5行任意位置,输入ma光标移到第1行任意位置,输入y'a(这一定要打这个“'”单引号,否则就进入“INSERT”状态了光标移到需要复制的行, ...

  2. Data Structure Linked List: Write a function to get the intersection point of two Linked Lists.

    http://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/ 第一第 ...

  3. 【leetcode刷题笔记】3Sum

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  4. poj 3006 Dirichlet's Theorem on Arithmetic Progressions【素数问题】

    题目地址:http://poj.org/problem?id=3006 刷了好多水题,来找回状态...... Dirichlet's Theorem on Arithmetic Progression ...

  5. Memory Layout of C Programs

    Memory Layout of C Programs   A typical memory representation of C program consists of following sec ...

  6. 分享知识-快乐自己:Struts2 拦截器 与 过滤器

    拦截器的使用以及配置: package com.gdbd.interceptor; import com.gdbd.pojo.UserInfo; import com.opensymphony.xwo ...

  7. C++(十)— 字符串进行插入、替换、查找、删除操作、substr

     1.C++中对字符串进行插入.替换.删除操作 #include<iostream> #include<algorithm> #include<stdio.h> # ...

  8. 关于ios::sync_with_stdio(false);和 cin.tie(0)加速c++输入输出流

    原文地址:http://www.hankcs.com/program/cpp/cin-tie-with-sync_with_stdio-acceleration-input-and-output.ht ...

  9. HashMap去重

    package util; import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import jav ...

  10. leetcode 50. Pow(x, n)(快速幂)

    就是一个二分法快速幂. 但是需要注意的问题是这里是实数,而且n可能为负.int的范围是-2,147,483,648 至 2,147,483,647.如果为-2,147,483,648那么直接n=-n就 ...