h5 audio播放音频文件
h5 audio播放音频文件
注:下面html中样式及不相关的内容去掉了
第一个例子
播放没有防盗链的外网音频文件是可以的
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>音乐</title>
<script src="Js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="Js/util.js" type="text/javascript"></script>
<link href="file/audio/css/public.css" rel="stylesheet" type="text/css">
<!--禁止屏幕缩放-->
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.2,user-scalable=no"/>
</head>
<body>
<div class="text_h2" style="margin-top: 10px; padding-left: 14px; padding-right: 14px;">
<span id="Title" style="letter-spacing: 2px; line-height: 25px; font-weight: 600;">标题<br></span>
</div>
<div class="text_h2" style="padding-left: 5px; padding-right: 5px;">
<div style="margin-top: 5px;"><img id="LogoUrl" src="">
</div>
</div>
<div style="background-color: #e2e2e2; margin-left: 15px; margin-right: 15px; border-radius: 2px;">
<div id="AudioTitle" style="font-weight: 600; text-align: center; padding-top: 12px;">标题</div>
<div style="text-align: center;" id="divAudio">
<audio id="SimpleMusicPlayer" controls="controls" style="background-color: #e2e2e2; width: 98%; margin-top: 12px; margin-bottom: 5px;">
</audio>
</div>
</div>
<div class="bottom_text" id="Contents" style="padding-left: 12px; padding-right: 12px; letter-spacing: 2px; line-height: 28px; font-weight: 600; margin-top: 10px; margin-bottom: 15px;">
内容区
</div> <script type="text/javascript"> $(document).ready(function() {
GetData();
}); function GetData() {
var id = getQueryString("id") || 0; if (id == 0) {
return;
}
var audio = document.getElementById("SimpleMusicPlayer"); var data = {};
data.method = "Get";
data.id = id;
ajaxProcess("/h5/audio.aspx?", data, function callSuccess(oRet) {
var result = oRet[0];
if (result != null) {
document.title = "我的音乐-" + result.Title;
$("#Title").html(result.Title + "<br>");
$("#AudioTitle").html(result.AudioTitle);
$("#Contents").html(result.Contents); if (result.AudioUrls) {
audio.src = result.AudioUrls; //设置audio src的值
} else { audio.src = "http://www.xxx.com/default.mp3";
} audio.autobuffer = true;
audio.load();
audio.preload = "auto";
}
}, function callError(e) {
alert(e);
});
}
</script>
</body>
</html>
第二个例子
如果音频地址是别人网站的,且有防盗链,用例子一的方法则播放不了,用fiddler查看音频文件访问返回的是status 399,如果直接在浏览器打开这个地址则是可以播放的,初步怀疑是加了防盗链设置,解决如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>音乐</title> <script src="Js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="Js/util.js" type="text/javascript"></script>
<link href="file/audio/css/public.css" rel="stylesheet" type="text/css">
<!--禁止屏幕缩放-->
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.2,user-scalable=no"/>
</head>
<body>
<div class="text_h2" style="margin-top: 10px; padding-left: 14px; padding-right: 14px;">
<span id="Title" style="letter-spacing: 2px; line-height: 25px; font-weight: 600;">标题<br></span>
</div>
<div class="text_h2" style="padding-left: 5px; padding-right: 5px;">
<div style="margin-top: 5px;"><img id="LogoUrl" src="">
</div>
</div>
<div style="background-color: #e2e2e2; margin-left: 15px; margin-right: 15px; border-radius: 2px;">
<div id="AudioTitle" style="font-weight: 600; text-align: center; padding-top: 12px;">标题</div>
<div style="text-align: center; background-color: #e2e2e2; width: 95%; margin-top: 12px; margin-bottom: 5px; height:50px;" id="divAudio">
<iframe id="audioPage" scrolling="no" frameborder="0" style="width:98%;height:45px; text-align: center;"> </iframe>
</div>
</div>
<!--<script type="text/javascript" src="file/audio/js/audio.js"></script>-->
<div class="bottom_text" id="Contents" style="padding-left: 12px; padding-right: 12px; letter-spacing: 2px; line-height: 28px; font-weight: 600; margin-top: 10px; margin-bottom: 15px;">
内容区
</div> <script type="text/javascript"> $(document).ready(function() {
GetData();
}); function GetData() {
var id = getQueryString("id") || 0;
if (id == 0) {
return;
} var data = {};
data.method = "Get";
data.id = id;
ajaxProcess("/h5/audio.aspx?", data, function callSuccess(oRet) { var result = oRet[0];
if (result != null) {
document.title = "我的音乐-" + result.Title;
$("#Title").html(result.Title + "<br>");
$("#AudioTitle").html(result.AudioTitle);
$("#Contents").html(result.Contents); var soundSrc = "http://www.xxx.com/default.mp3";
if (result.AudioUrls) {
soundSrc = result.AudioUrls;
} var strSrc = "javascript:\"<!doctype html><html><head></head><body style='width:100%;height:45px; text-align: center;'><div><audio id='simplemusicplayer2' src='" + soundSrc + "' controls='controls' preload='metadata' autoplay style='width:95%;'></audio></div></body></html>\"";
$("#audioPage").attr("src", strSrc); //iframe的src设置的是这个page的html页面内容,这样就去掉了iframe页面内audio 元素src的来源 reffer
}
}, function callError(e) {
alert(e);
});
}
</script>
</body>
</html>
关键之处是让访问音频地址的时候reffer没有,其它的办法也可以,这里只是其中一种方法
h5 audio播放音频文件的更多相关文章
- jquery自动播放音频文件
使用jquery自动播放音频文件 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- 关于Window Server2008 服务器上无法播放音频文件的解决方案
在偌大的百度当中查找我所需要的资源信息,但网络上所描述的都不能解决,发生此类问题的人很多,但是都没有得到准确的解决方法!经个人各方面的尝试,其实非常简单的解决了无法播放音频文件的问题,如果各位今后也遇 ...
- ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件
原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...
- .NET winform播放音频文件
前提:最近要求做一个在winform端做一个音频文件播放的功能,至此,总结最近搜寻的相关资料. 一.微软提供了三种方式来播放音频文件 1.通过System.Media.SoundPlayer来播放 2 ...
- C#调用mciSendString播放音频文件
mciSendString函数是一个WinAPI,主要用来向MCI(Media Control Interface)设备发送字符串命令. 一.函数的声明如下: private static exter ...
- Unity 播放音频文件
Unity 播放音频文件参考代码: public void Play(string strSoundName, float autoDestroyTime = 0f, bool bLoop = fal ...
- Qt 播放音频文件
Qt播放音频文件的方法有好多中,简单介绍几种 不过一下几种方式都需要在Qt工程文件中添加 QT += multimedia 第一 QMediaPlayer类 可以播放MP3文件,同时使用也 ...
- 使用audio标签播放音频文件
HTML5定义了一个新的元素用来指定标准的方式来插入音频文件到web页面中:<audio>标签.使用audio标签可以控制音频的播放与停止,循环播放与播放次数设置,以及播放位置等等. 例如 ...
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...
随机推荐
- Extjs3 combobox使用
Combobox 在程序中应用十分普遍,每个combobox的选项 一般对应两个值:一个用于前台显示的值,一个与显示值对应的value值.在后台获取value的值需使用combobox的 Hidden ...
- 理解Python的双下划线命名
引子 我热情地邀请大家猜测下面这段程序的输出: class A(object): def __init__(self): self.__private() ...
- JavaScript四种数值取整方法
一.Math.trunc() 1.定义 Math.trunc()方法去除数字的小数部分,保留整数部分. 2.语法 Math.trunc(value) 3.示例 console.log(Math.tru ...
- cookies与session
一.cookies 本质:浏览器端保存的键值对 方便客户按照自己的习惯操作页面或软件,例如:用户验证,登陆界面,右侧菜单隐藏,控制页面列表显示条数... cookies是由服务端写在浏览器端,以后每次 ...
- Linux基础命令(二)
作业一:1) 新建用户natasha,uid为1000,gid为555,备注信息为“master” groupadd -g 555 netasha useradd -u 1000 -g netasha ...
- mongoose连接数据库的两种形式
不废话,直接 ---------------------- .如果你的应用程序只使用一个数据库, 应该使用 mongoose.connect. 如果您需要创建额外的连接,使用 mongoose.cre ...
- shell正则式解析身份证和手机号
cat test2.html | sed -e 's/\(^\|[^0-9]\)\(13[0-9][0-9]\{8\}\|14[579][0-9]\{8\}\|15[0-3,5-9][0-9]\{8\ ...
- 从微观到宏观,遍历网络安全这幅有向图——By Me
“可视化”是网络安全领域的前沿技术与可靠保障.笔者所在的西电捷通是一家领先的网络安全基础技术国际研究机构.一直从事网络安全基础技术研发与技术转移.笔者在2011年底入职典型技术之上的西电捷通公司,那时 ...
- mysql中解决主键自增长断号问题
情况一:如果表中本来已经存在数据,并且有断号的现象.那先得删除主键再添加,重新设置自增长. 1.ALTER TABLE student DROP id; 2.ALTER TABLE student A ...
- Node.js API学习笔记(一)
此文章已经发表于本人博客. Terminal(终端) 说起这个使用过linux系统的兄台一般都会知道的,本人理解:类似Putty这些ssh工具通过 软件来实现远程控制主机,对于我们使用者来说,它会显示 ...