——杂言: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. STM32 HAL库 UART使用printf

    // 添加这个函数 int fputc(int ch,FILE *f) { uint8_t temp[]={ch}; HAL_UART_Transmit(&UartHandle,temp,,) ...

  2. cloudera impala编译 安装 配置 启动

    无论是采用GDB调试impala或者尝试修改impala源码,前提都是需要本地环境编译impala,这篇文章详细的分享一下impala编译方法以及编译过程遇到的棘手的问题: 前言: impala官方的 ...

  3. [原创] hadoop学习笔记:wordcout程序实践

    看了官网上的示例:但是给的不是很清楚,这里依托官网给出的示例,加上自己的实践,解析worcount程序的操作 1.首先你的确定你的集群正确安装,并且启动你的集群,应为这个是hadoop2.6.0,所以 ...

  4. 【leetcode刷题笔记】Valid Sudoku

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  5. LINQ 学习路程 -- 查询操作 OfType

    OfType操作根据集合中的元素是否是给定的类型进行筛选 IList mixedList = new ArrayList(); mixedList.Add(); mixedList.Add(" ...

  6. Jquery的load()

    我一直认为jquery的load函数是以GET方式请求另一个文件并加载到当前DOM里的.当我带参数加载一个ASP脚本时是这样做: $("#showData").load(" ...

  7. Web container==Servlet container

    Web container From Wikipedia, the free encyclopedia   (Redirected from Servlet container)     Web co ...

  8. Oracle数据库操作语言(DML)

    --insert添加语句 insert into table_name(column_name,column_name,...) values (data1,data2,...); --通过表添加数据 ...

  9. NET 平台下的WebService 简单使用

    一句话理解:提供可供外部访问的方法,实现跨平台访问 注意: 在客户端是添加“服务引用”,而不是引用 当服务端更新了服务之后,在客户端,一定也要“更新服务” 当要执行异常调用时,要在前台.aspx的头部 ...

  10. 分享知识-快乐自己:遍历Map集合

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { pu ...