——杂言: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. 移动端web常见问题解决方案

    meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 忽略将页面中的数字识别为电话号码 忽略Android平台中对邮箱地址的识别 当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对i ...

  2. 2django 视图与网址进阶

    一.在网页中做加减法 采用/add/?a=11&b=22这样get方法进行 django-admin.py startproject zqxt_views cd zqxt_views pyth ...

  3. iOS base64编码 MD5 加密

    //创建一个Base64编码的NSString对象 //字符串 转二进制 NSData *nsdata = [@"iOS Developer Tips encoded in Base64&q ...

  4. <linux报错解决>在Fedora21下安装vmware报错的解决办法

    关于VMWARE WORKSTATION在Fedora21下的安装问题 (1)在Fedora21下安装vmware如果在终端下启动,提示你找不到内核头文件Kernel Headers的话使用命令: s ...

  5. 《机器学习实战》学习笔记第五章 —— Logistic回归

    一.有关笔记: 1..吴恩达机器学习笔记(二) —— Logistic回归 2.吴恩达机器学习笔记(十一) —— Large Scale Machine Learning 二.Python源码(不带正 ...

  6. Spring中如何动态注入Bean实例教程

    前言 在Spring中提供了非常多的方式注入实例,但是由于在初始化顺序的不同,基于标注的注入方式,容易出现未被正确注入成功的情况. 本文将介绍一种在实际项目中基于动态的方式来提取Spring管理的Be ...

  7. a note of R software write Function

    Functionals “To become significantly more reliable, code must become more transparent. In particular ...

  8. Delphi webservices 传数据

    数据集数据转换为XML function ReplaceString(AString: string): string; begin Result := StringReplace(AString, ...

  9. ListOperations

    RedisOperations<K,V> getOperations()  V index(K key, long index)  V leftPop(K key)  V leftPop( ...

  10. PHP基础陷阱题(变量赋值)

    PHP基础陷阱题代码,需要的朋友可以参考下   复制代码 代码如下: <?php $a=3; $b=6; if($a=5||$b=7){ $a++; $b++; } var_dump($a, $ ...