Javascript 如何停止每次ajax调用的音频?
我在通过javascript处理音频播放时遇到了一个问题,因为有时它会随机播放无法停止但需要破坏会话的内容。ajax上的当前实现每1秒调用一次 我也使用cookies来保存会话,但它不会超过4kb,因为它会附加我的数据来生成音频 我的代码:Javascript 如何停止每次ajax调用的音频?,javascript,codeigniter,Javascript,Codeigniter,我在通过javascript处理音频播放时遇到了一个问题,因为有时它会随机播放无法停止但需要破坏会话的内容。ajax上的当前实现每1秒调用一次 我也使用cookies来保存会话,但它不会超过4kb,因为它会附加我的数据来生成音频 我的代码: function refreshPage(){ var transaction_id = ''; var form_data = { transaction_id : transaction_id, ca
function refreshPage(){
var transaction_id = '';
var form_data = {
transaction_id : transaction_id,
called_ids : calledIds
}
var base_url = $j('base').attr("href");
var link = "<?php echo getUrl('display/refreshPage');?>";
$j.ajax({
url: link,
type: 'POST',
data: form_data,
dataType: 'json',
success: function(msg){
console.log(msg);
if(msg.reply == 'success'){
if(msg.html != lastHtml){
$j('#queue_board').html(msg.html);
lastHtml = msg.html;
}
if(msg.play_sound == "yes"){
var audio = new Audio('<?php echo getSkinCommonUrl('audio/doorbell-2.mp3'); ?>');
if (audio.paused) {
audio.play();
}else{
audio.pause();
audio.currentTime = 0
}
}
calledIds = msg.called_ids;
}
setTimeout(refreshPage, 1000);
},
error: function(a,b){
setTimeout(refreshPage, 2000);
}
});
}
您只能调用音频的一个实例,然后在需要时播放它 在函数刷新页面上方的代码顶部:
var audio = new Audio('<?php echo getSkinCommonUrl('audio/doorbell-2.mp3'); ?>');
我认为你不需要关于音频是否暂停等的其他条件。。。您可以在暂停后立即播放。您好,先生,我还没有尝试过……如果我实现了该场景,会有什么影响?有很多音频实例。您需要1个以上吗?不需要,因为它是带有声音通知的显示器。这是另一个代码参考Ha,那么,为什么不在消息或号码发生变化时才调用您的铃声呢?你不需要每次都创建一个新的音频。你有样本吗?杰克曼:你说得对
if(msg.reply == 'success'){
if(msg.html != lastHtml){
$j('#queue_board').html(msg.html);
lastHtml = msg.html;
}
if(msg.play_sound == "yes"){
audio.pause();
audio.play();
}