最终,做了自己原来一直想要实现的事儿。得出的结果是,有些事儿一旦開始做了,那么它就并非非常难。

如今的我,正听着自己的播放器放出的《光辉岁月》写这篇周六清晨的博文。写的不是非常好。但也请各位前辈担待一下我这个什么都不懂的菜鸟,也希望各位前辈积极地指正我的错误,小弟感激不尽!

正式内容前,能够先预览一下效果,http://xxyy.ahthw.com//xiaoyu/musicV1.0/Music1.0.html (在这里。再次感谢王哥提供的server。)

本项目主要用到了html5的audio标签以及它所自带的方法和属性,IE9+浏览器兼容。

关于audio相关的Api请參阅:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp

值得一提的是。在项目中,遇到了这种一个问题,依据正常的思维。一首音乐播放的流程是这种:

点击事件更换audio的src。音乐又一次载入,audio.load(),然后播放音乐audio.play()。在然后去获取音乐的总时长。audio.duration,可是这时候获取的时间总设计NaN,这个问题让我纠结了许久,想必也大概能分析出问题的解决办法。当浏览器去运行的audio.play()的时候。音乐可能还未载入。就已经运行了audio.duration,所以获取到的时间值总是为NaN,再次感谢无痕哥提供的解决方式。

通过监听这首歌是否已经播放(canplay),去获取时间,相关的Api,http://www.w3school.com.cn/tags/av_event_canplay.asp

解决代码:

MusicPlayer.addEventListener('canplay', function(e){
$AllTime.text(makeTime(MusicPlayer.duration));//makeTime是处理把秒处理成00:00格式的函数
AllTime = MusicPlayer.duration;
}, false);

事实上这个问题,还是因为自己第一次写,经验少,没有细致查看Api导致的,希望和我一样的菜鸟不会犯和我一样的错误。

在总体效果中,有一个依据内容的高度和容器的高度对照来加入虚拟滚动栏的效果,关于滚动栏代码请參考上一篇博文:

http://blog.csdn.net/u014703834/article/details/44159921

详细的项目代码就不在这里一一体现,有兴趣的朋友能够加我QQ:756500909。或者在线留下邮箱地址,我会把源文件分享给你。

希望能一起交流技术和经验!

html5,audio音乐播放器的更多相关文章

  1. html5 简单音乐播放器

    html5 简单音乐播放器 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> < ...

  2. html5版 音乐播放器

    html5版本音乐播放器,支持iOS设备,案例地址:http://www.xttblog.com/?p=1277 功能说明 支持iOS设备,但是iOS不支持自动下一曲,这是iOS本身限制,支持touc ...

  3. HTML5网页音乐播放器

    1功能介绍 HTML5中推出了音视频标签,可以让我们不借助其他插件就可以直接播放音视频.下面我们就利用H5的audio标签及其相关属性和方法来制作一个简单的音乐播放器.主要包括以下几个功能: 1.播放 ...

  4. html5 jquery音乐播放器,play()和pause()不起作用

    今天在自己写的页面上加上背景音乐,当我点击图片时可以切换 播放/暂停 用jquery写的,方法总是提示没有pause这个方法! 检查了半天最后发现 你使用的是jquery选择器所以返回的是jquery ...

  5. HTML5环形音乐播放器

    在线演示 本地下载

  6. HTML5项目笔记4:使用Audio API设计绚丽的HTML5音乐播放器

    HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道 ...

  7. 使用Audio API设计绚丽的HTML5音乐播放器

    HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道 ...

  8. 用<audio>标签打造一个属于自己的HTML5音乐播放器

    上一章节,我们刚刚讲了<video>标签,今晚,我们讲的是<audio>标签,这两个东东除了表示的内容不一样以外,其他的特性相似的地方真的太多了,属性和用法几乎一样,也就说,如 ...

  9. 4个小时实现一个HTML5音乐播放器

    技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...

随机推荐

  1. NSURLSession使用模板和AFNetworking使用模板(REST风格)

    1.NSURLSession使用模板 NSURLSession是苹果ios7后提供的api,用来替换 NSURLConnection会话指的是程序和服务器的通信对象//一.简单会话不可以配合会话(ge ...

  2. BZOJ 3674 可持久化并查集加强版(主席树变形)

    3673: 可持久化并查集 by zky Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2515  Solved: 1107 [Submit][Sta ...

  3. BZOJ4516 [Sdoi2016]生成魔咒 【后缀自动机】

    题目 魔咒串由许多魔咒字符组成,魔咒字符可以用数字表示.例如可以将魔咒字符 1.2 拼凑起来形成一个魔咒串 [1,2]. 一个魔咒串 S 的非空字串被称为魔咒串 S 的生成魔咒. 例如 S=[1,2, ...

  4. Java EE 学习:使用 idea2017 搭建 SSM 框架

    需要准备的环境: idea 2017.1 jdk1.8 Maven 3.3.9 请提前将idea与Maven.jdk配置好,本次项目用的都是比较新的 步骤: 一.首先使用idea新建一个Maven w ...

  5. ios UIImage 圆形图片剪切方案

    @interface UIImage (Resize) //按形状切割图像 - (UIImage*)cutImageWithRadius:(int)radius; @end //图片剪切 - (UII ...

  6. float 及 overflow 的理解

    1.CSS 盒子模型: 2.float 支持属性:left right none inherit(部分支持) (1)float 属性影响范围:对紧随其后的块儿级元素起作用. (2)清除浮动常用方法:在 ...

  7. [LeetCode] Path Sum II 深度搜索

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  8. LeetCode OJ-- Reverse Words in a String

    https://oj.leetcode.com/problems/reverse-words-in-a-string/ 给一个字符串 abc  dd  m,返回 m dd abc. 注意:输入中可能有 ...

  9. LeetCode OJ-- Jump Game

    https://oj.leetcode.com/problems/jump-game/ 从0开始,根据每一位上存的数值往前跳. 这道题给想复杂了... 记录当前位置 pos,记录可以调到的最远达位置为 ...

  10. AC日记——灾后重建 洛谷 P1119

    灾后重建 思路: 看到n<=200,思考弗洛伊德算法: 如何floyed呢? floyed是一种动态规划求最短路的算法: 它通过枚举中间点来更新两点之间最短路: 回到这个题本身: 所有点的重建完 ...