html audio 在iPhone,ipd,safari浏览器不能播放是有原因滴
(在safri on ios里面明确指出等待用户的交互动作后才能播放media,也就是说如果你没有得到用户的action就播放的话就会被safri拦截)
找了很多资料都没有解决,不过最终在国外网站通过翻译解决问题,希望能帮到没有解决此问题的童鞋
附带源码如下:黑色部分表示重点突出
var g_audio = window.g_audio = new Audio(); //创建一个audio播放器
var g_event = window.g_event =new function(){
var events = ['load','abort','canplay','canplaythrough',
'durationchange','emptied','ended','error',
'loadeddata','loadedmetadata','loadstart',
'pause','play','playing','progress',
'ratechange','seeked','seeking','stalled',
'suspend','timeupdate','volumechange','waiting', 'mediachange'];
g_audio.loop = false;
g_audio.autoplay = true;
g_audio.isLoadedmetadata = false;
g_audio.touchstart = true;
g_audio.audio = true;
g_audio.elems = {};
g_audio.isSupportAudio = function(type){
type=type||"audio/mpeg";
try{
var r=g_audio.canPlayType(type);
return g_audio.canPlayType&&(r=="maybe"||r=="probably")
}catch(e){return false;}
};
g_audio.push = function(meta){
g_audio.previousId = g_audio.id;
g_audio.id = meta.song_id;
g_audio.previousSrc = g_audio.src;
g_audio.previousTime = 0.00;
g_audio.src = g_audio.currentSrc = meta.song_fileUrl;
g_audio.isLoadedmetadata = false;
g_audio.autobuffer = true;
g_audio.load();
g_audio.play();
if(g_audio.previousSrc !== g_audio.src){
g_audio.play();
}
};
for(var i = 0, l = events.length; i < l; i++){
(function(e){
var fs = [];
this[e] = function(fn){
if(typeof fn!== 'function'){
for (var k = 0; k<fs.length; k++){
fs[k].apply(g_audio);
}
return ;
}
fs.push(fn);
g_audio.addEventListener(e, function(){
fn.apply(this);
});
};
}).apply(this, [events[i]]);
}
this.ended(function(){ //播放结束
});
this.load(function(){ //加载
this.pause();
this.play();
});
this.loadeddata(function(){
this.pause();
this.play();
});
this.loadedmetadata(function(){
this.isLoadedmetadata = true;
});
this.error(function(){ //请求资源时遇到错误
});
this.pause(function(){ //歌曲暂停播放
});
this.play(function(){ //歌曲播放
});
};
$(document).ready(function(){
if(/i(Phone|P(o|a)d)/.test(navigator.userAgent)){
$(document).one('touchstart', function (e) {
g_audio.touchstart = true;
g_audio.play();
g_audio.pause();
return false;
});
}
});
audio使用:
$("#main").unbind("click").bind("click",function(){
//gid 表示歌曲id,只是一个表示,没有值不影响播放
//song_fileUrl :播放歌曲地址,不能为空,有效地址
g_audio.elems["id"] = gid;
g_audio.push({song_id:gid,song_fileUrl:json.URL});
});//绑定事件
相关推荐
IPD+CMMI+Scrum一体化研发管理解决方案 本文将对IPD+CMMI+Scrum一体化研发管理解决方案进行详细的知识点整理和解释。这个解决方案旨在帮助企业解决研发管理面临的各种问题,提高研发效率和质量,提高企业的核心竞争...
9. **IPD工具支持**:利用现代项目管理工具,如PDM(Product Data Management)、PLM(Product Lifecycle Management)等,实现流程的信息化和自动化。 华为在实践中不断完善IPD流程,形成了具有华为特色的企业文化...
6. **度量与反馈**:IPD强调建立度量体系,通过度量数据评估流程效果,及时发现并解决问题。这些度量可能包括开发周期、产品质量、客户满意度等。 7. **持续改进**:IPD流程不是一成不变的,而是持续改进的过程。...
在IPD运作中,DCP评审共有5个,主要是业务决策是否要进入下一个阶段,从产品投资的角度进行评审。TR评审共有7个,主要是从技术的角度评审决策是否具有可实现性和技术领先性。本资源为您整理了DCP和TR评审各阶段的...
综上所述,IPD-PTM流程规范是确保软件和产品开发过程中的测试质量核心工具,它结合了PDCA管理理念,为测试团队提供了清晰的工作指导,帮助识别和解决问题,以达到提高产品质量、降低风险的目标。通过严格的流程执行...
IPD财务分享 IPD财务主题分享是指在产品开发过程中,财务团队扮演着专业支持角色,协同其他团队,共同完成项目目标。该分享涵盖了IPD模型的三个部分:产品组合计划、产品开发项目、产品全生命周期管理。 产品组合...
专家介入过多,不能充分调动项目组成员的积极性并强化其责任,得不到成长,介入过少又不能充分发挥技术评审的作用,同样对确保项目质量不利。 六、在产品开发过程中进行技术攻关 平台化开发是IPD 的核心思想之一,...
IPD(Integrated Product Development,集成产品开发)是一种高效...在IPD流程中,DCP评审是确保决策质量和项目进度的关键工具,它强化了跨职能团队之间的沟通,降低了产品开发过程中的不确定性,提高了产品的成功率。
它组建由研发、市场、制造、质量等不同职能领域的专家组成的跨职能团队,共同参与决策和解决问题。这种协作模式有助于信息的快速传递和共享,减少沟通成本,提高决策效率。 IPD还引入了“门径管理”机制。每个开发...
《IPD 产品开发流程中的DCP评审要素详解》 IPD(Integrated Product Development,集成产品开发)是一种高效的产品开发模式,它强调跨部门协作,通过多个决策评审点(DCP,Decision Control Point)确保产品开发...
#### 九、IPD如何解决产品开发中的问题 1. **明确的目标设定**:通过产品战略规划,确保所有团队都围绕共同的目标努力。 2. **组织结构调整**:建立跨部门团队,打破传统职能部门间的壁垒。 3. **流程规范化**:...
IPD(Integrated Product Development,集成产品开发)...通过清晰的岗位分工和流程导向的责任界定,促进部门间的协同,共同解决问题。每个角色不仅要关注自身职责,还要与团队其他成员紧密协作,共同推动项目的成功。
IPD流程操作指引手册 IPD流程操作指引手册是指引项目立项、概念阶段、规划阶段和执行阶段的整个项目生命周期的操作指引。该手册提供了详细的项目流程操作指引,旨在确保项目的顺利进行和高效执行。 立项阶段 在...
IPD培训教材中提到的中国企业产品研发管理存在的典型问题,主要包括缺乏正确的研发理念、产品规划不足、业务决策评审缺失、组织结构职能化严重、不规范的产品开发流程、项目管理薄弱、技术与产品开发混淆、缺乏共用...
5. **案例研究**:通过实际案例,展示IPD在不同行业和公司中的应用,帮助学员理解和掌握IPD的实际操作。 6. **工具与方法**:介绍支持IPD实施的各种工具和技术,如项目管理工具、质量管理工具、敏捷开发方法等。 7...
华为公司力推的IPD项目任务书模版,内容非常全面,希望对大家有用。
经过IBM公司的成功实践与优化,IPD已经演变成一套系统性的研发解决方案,涵盖企业产品开发的各个方面。 IPD的核心思想有八点: 1. 产品开发被视为一种投资行为,需要从投资回报的角度进行管理。 2. 基于市场的创新...
华为IPD流程管理知识点 在华为IPD流程管理中,客户需求管理是整个流程的核心。该流程的目的是统一需求管理,主动收集需求,降低紧急需求比重,提升版本交付质量。下面是IPD流程管理中的重要知识点: 1. OR 流程:...