如何通过React/Redux进行简单的AJAX调用来播放音频?
我正在尝试自动播放一些音频,在iOS上,它不会自动播放。但是,如果我将其包装在AJAX调用中,它将启动。这就是我所拥有的:如何通过React/Redux进行简单的AJAX调用来播放音频?,ajax,reactjs,react-redux,Ajax,Reactjs,React Redux,我正在尝试自动播放一些音频,在iOS上,它不会自动播放。但是,如果我将其包装在AJAX调用中,它将启动。这就是我所拥有的: // run on page load var audio = document.getElementById('audio'); jQuery.ajax({ url: 'ajax.js', async: false, success: function() { audio.play(); // audio will play in
// run on page load
var audio = document.getElementById('audio');
jQuery.ajax({
url: 'ajax.js',
async: false,
success: function() {
audio.play(); // audio will play in iOS before 4.2.1
}
});
如何使用React/Redux进行设置?下面是一个非常简单的示例,使用(大多数浏览器都支持开箱即用)和
blob
对象URL。当然,您也可以使用jQuery的ajax
它与您的代码非常相似,但在componentDidMount
方法中。audio
元素通过引用
类播放器扩展React.Component{
componentDidMount(){
获取(this.props.src)
.then(res=>res.blob())
.然后(blob=>{
const{audio}=this.refs;
audio.src=URL.createObjectURL(blob);
音频播放();
});
}
render(){
返回;
}
}
ReactDOM.render(
,
document.getElementById(“视图”)
);代码>
下面是一个非常简单的示例,使用(大多数浏览器都支持开箱即用)和blob
对象URL。当然,您也可以使用jQuery的ajax
它与您的代码非常相似,但在componentDidMount
方法中。audio
元素通过引用
类播放器扩展React.Component{
componentDidMount(){
获取(this.props.src)
.then(res=>res.blob())
.然后(blob=>{
const{audio}=this.refs;
audio.src=URL.createObjectURL(blob);
音频播放();
});
}
render(){
返回;
}
}
ReactDOM.render(
,
document.getElementById(“视图”)
);代码>