许多人创建过音频播放器。通常,您只需选择一个可用的素材,通常是flash player。然而,您可能已经注意到,这些移动设备上的flash播放器不能正常工作(iPhone和Android)。今天我要告诉你关于如何创建自己的音频播放器(使用HTML5技术)。这个球员由下一个元素:标题、作者、封面,基本控制(播放/暂停、回放/前进),两个滑块(jQuery UI滑块):音量滑块和一首歌追踪,甚至更多:我们也会有一个播放列表可用歌曲的列表。步骤1。HTML像往常一样,我们必须包括几个文件头部分:HTML

  • 01.mp3
  • 02.mp3
  • 03.mp3
  • 04.mp3
  • 05.mp3
  • 06.mp3
  • 07.mp3

看起来很容易,不是吗?正如您可以看到的,这里包括所有必要的元素。步骤2。CSS.example { margin: 50px auto 0; width: 400px;}.player { background: transparent url("../images/spr.png") no-repeat scroll center top; height: 162px; position: relative; width: 326px; z-index: 2;}.title, .artist { font-family: verdana; left: 167px; position: absolute; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;}.title { color: #FFFFFF; font-size: 14px; font-weight: bold; top: 23px;}.artist { color: #EEEEEE; font-size: 12px; top: 40px;}.pl { background: transparent url("../images/spr.png") no-repeat scroll -274px -175px; cursor: pointer; height: 34px; left: 270px; position: absolute; top: 20px; width: 32px;}.pl:hover { top: 21px;}.cover { background: transparent url(../data/cover1.jpg) no-repeat scroll center top; border-radius: 5px 5px 5px 5px; height: 94px; left: 20px; position: absolute; top: 20px; width: 94px;}.controls { cursor: pointer; height: 23px; left: 167px; position: absolute; top: 65px; width: 138px;}.controls .play, .controls .pause, .controls .rew, .controls .fwd { background: transparent url("../images/spr.png") no-repeat scroll 0 0; float: left; height: 100%; width: 33%;}.controls .play { background-position: -8px -171px;}.controls .pause { background-position: -8px -198px; display: none;}.controls .rew { background-position: -54px -171px;}.controls .fwd { background-position: -100px -171px;}.controls .play:hover { background-position: -8px -170px;}.controls .pause:hover { background-position: -8px -197px;}.controls .rew:hover { background-position: -54px -170px;}.controls .fwd:hover { background-position: -100px -170px;}.hidden { display: none;}.controls .visible { display: block;}.volume { height: 11px; left: 186px; position: absolute; top: 96px; width: 112px;}.tracker { height: 15px; left: 20px; position: absolute; top: 126px; width: 285px;}.ui-slider-range { background: transparent url("../images/spr.png") no-repeat scroll 5px -222px; height: 100%; position: absolute; top: 0;}.ui-slider-handle { cursor: pointer; height: 10px; margin-left: -5px; position: absolute; top: 2px; width: 10px; z-index: 2;}.volume .ui-slider-handle { background: url("../images/spr.png") no-repeat scroll -201px -188px rgba(0, 0, 0, 0); height: 13px; width: 13px;}.playlist { background-color: #333333; border-radius: 5px 5px 5px 5px; list-style-type: none; margin: -10px 0 0 2px; padding-bottom: 10px; padding-top: 15px; position: relative; width: 326px; z-index: 1;}.playlist li { color: #EEEEEE; cursor: pointer; margin: 0 0 5px 15px;}.playlist li.active { font-weight: bold;}步骤3。JavaScript// inner variablesvar song;var tracker = $('.tracker');var volume = $('.volume');// initialization - first element in playlistinitAudio($('.playlist li:first-child'));// set volumesong.volume = 0.8;// initialize the volume slidervolume.slider({ range: 'min', min: 1, max: 100, value: 80, start: function(event,ui) {}, slide: function(event, ui) { song.volume = ui.value / 100; }, stop: function(event,ui) {},});// empty tracker slidertracker.slider({ range: 'min', min: 0, max: 10, start: function(event,ui) {}, slide: function(event, ui) { song.currentTime = ui.value; }, stop: function(event,ui) {}});然后,我准备几个通用函数来处理音频:function initAudio(elem) { var url = elem.attr('audiourl'); var title = elem.text(); var cover = elem.attr('cover'); var artist = elem.attr('artist'); $('.player .title').text(title); $('.player .artist').text(artist); $('.player .cover').css('background-image','url(data/' + cover+')');; song = new Audio('data/' + url); // timeupdate event listener song.addEventListener('timeupdate',function (){ var curtime = parseInt(song.currentTime, 10); tracker.slider('value', curtime); }); $('.playlist li').removeClass('active'); elem.addClass('active');}function playAudio() { song.play(); tracker.slider("option", "max", song.duration); $('.play').addClass('hidden'); $('.pause').addClass('visible');}function stopAudio() { song.pause(); $('.play').removeClass('hidden'); $('.pause').removeClass('visible');}然后我开始给我们的控制按钮添加事件处理程序。播放/暂停按钮:// play click$('.play').click(function (e) { e.preventDefault(); playAudio();});// pause click$('.pause').click(function (e) { e.preventDefault(); stopAudio();});为了转向另一首歌曲在播放列表,我们不得不停止玩当前歌曲,选择一个播放列表中的下一个对象(或之前),并重新初始化我们的音频元素。向前/回放按钮:// forward click$('.fwd').click(function (e) { e.preventDefault(); stopAudio(); var next = $('.playlist li.active').next(); if (next.length == 0) { next = $('.playlist li:first-child'); } initAudio(next);});// rewind click$('.rew').click(function (e) { e.preventDefault(); stopAudio(); var prev = $('.playlist li.active').prev(); if (prev.length == 0) { prev = $('.playlist li:last-child'); } initAudio(prev);});最后,一些函数来处理播放列表:// show playlist$('.pl').click(function (e) { e.preventDefault(); $('.playlist').fadeIn(300);});// playlist elements - click$('.playlist li').click(function () { stopAudio(); initAudio($(this));});

iphone html5音乐播放器,HTML5音频播放器,播放列表相关推荐

  1. ios系统html播放音频播放器,iOS音频播放之AVAudioPlayer,AVPlayer,AVQueuePlayer

    本文以婚语APP为例,来讲解集体使用方法. 在婚语APP中,分别使用了AVAudioPlayer,AVPlayer,AVQueuePlayer来实现音频播放功能,下面以婚语的实际需求分别介绍它们的使用 ...

  2. Android-Frame布局,UI布局切换,录音,照相机,影音播放器,音频播放器

    <FrameLayout anroid:layout_weight="1"> <ImageView android:scaleType="fitCent ...

  3. Python歌词解析器(加音频播放)

    import pygame import timestrLrc = '''[00:01.49]动力火车 - 当 [00:20.53]当 <还珠格格>主题曲(动力火车) [00:21.89] ...

  4. java播放器_java音频播放器

    java音频播放器备份,支持wav,mp3 播放wav版本 包: 不需要其他jar包 代码: package com; import javax.sound.sampled.*; import jav ...

  5. 摇一摇 声音 html5,HTML5摇一摇以及音频播放问题优化总结

    前言感想:不放过任何一个WARNING.ERROR或者不够好的体验点,持续不断优化,精益求精,我们就能够得到提高. 1. 摇一摇不够灵敏.摇动很多次没有响应的问题. 原来摇一摇代码是从网络Copy的, ...

  6. android音乐播放器暂停播放,Android万能音频播放器07--添加停止播放功能并释放内存...

    1.释放所分配的内存 释放顺序:释放队列->释放OpenSL->释放Audio->释放FFmpeg 1.1.释放队列 JfQueue.cpp void JfQueue::clearA ...

  7. java 音频播放器_JAVA音频播放器问题

    代码如下,请高手帮忙解决importjava.applet.*;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.n ...

  8. 【音频播放】自制音频播放器—音视频基础概念,未完待续。。。

    近期用Electron制作了一个简易版客户端,未完待补充,重点在播放,引用凯教,先说几点.(图片禁止搬运,不得允许不准转载) 研究音频的数字化技术之前,必须对声音和图像的的物理性质有基本的了解. 如下 ...

  9. Android MediaPlayer 播放器网络音频播放总结

    在近期的Android 系统MediapPalyer使用中,碰到了不少问题.其中一些问题也是在特殊的条件下才会出现,尝试很多方法才解决.这里做了总结,也跟大家分享一下: 1.播放器需要多线程实现 一般 ...

  10. java 错误声音播放器_java 音频播放器出不了声音,代码里哪有问题啊?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java ...

最新文章

  1. Microbiome:人类肠道和病原菌的可移动抗性组驱动环境中抗生素抗性增长
  2. Redis实现之数据库(三)
  3. mysql 经典问题_mysql经典排名问题
  4. switch java 语法_Java_基础语法之switch语句
  5. (74)信号发生器DDS三角波设计(二)(第15天)
  6. 怎么删除flash弹出的广告_电脑桌面老是弹出广告怎么办?一个无需下载软件即可屏蔽的方法...
  7. java mybatis 动态_Java-MyBatis:MyBatis 3 动态 SQL
  8. openwrt源码下载移植
  9. 数据结构与算法C语言版—— 数据结构的详细介绍
  10. 数据库篇——学生基本信息录入系统
  11. 十大项目管理知识-进度管理
  12. android调用文件管理打开某个路径,android – 在文件管理器中打开特定文件夹以供查看...
  13. Babel(es6与se5 之间相互转换)
  14. 计算机科学个人陈述中文,留学文书写作范例-计算机科学(个人陈述)
  15. IP-GUARD全盘扫描任务优化
  16. 羊皮卷的故事-第六章
  17. ISIS原理与配置,详细
  18. 【C语言基础】——6个人摇骰子
  19. BZOJ 2818: Gcd区间内最大公约数 为素数的对数(欧拉函数的应用)
  20. sc不是内部命令或外部命令

热门文章

  1. 【问题】解决tooltip.js有滚动条时错位
  2. canvas学习这一片果然就够了(一)
  3. RDC 2022纪念版开发板-D1S在RT-Smart运行
  4. python二维随机游走_利用python进行时间序列分析——从随机游走到GARCH模型(二)...
  5. 苹果发布智能穿戴新专利,苹果Find My技术使防丢更智能
  6. Spring 面试题汇编
  7. 成功解决:Oracle中文乱码问题(很详细,很详细,很详细)
  8. 关于linux的常识
  9. D. Boris and His Amazing Haircut(线段树)
  10. Java逻辑运算符取反操作