关注公众号:青山有路

订单语音提醒

js javascript jquery笔记 admin 6年前 (2018-11-16) 1986次浏览 已收录 扫描二维码

<audio id=”music” >

<source src=”https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=3&text=您有新的订单,请尽快处理” type=”audio/mpeg”>

<embed height=”0″ width=”0″ src=”https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=3&text=您有新的订单,请尽快处理”>

</audio>

<script>

var audioEl = $(“#music”)[0];

(function() {

function checkorder() {

var totalnum = “{$totalnum}”;

$.post(“{php echo $this->createWebUrl(‘checkorder’);}”,{totalnum:totalnum}, function(data){

if(data == ‘success’) {

var tip = ‘您有新的订单,请尽快处理’;

audioEl.src=”https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=” + tip;

audioEl.load();

audioEl.play();

} else {

if (data != ”) {

audioEl.src=”https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=4&text=” + data;

audioEl.load();

audioEl.play();

}

}

setTimeout(checkorder, 10000);

});

}

 

function log(info) {

console.log(info);

// alert(info);

}

function forceSafariPlayAudio() {

audioEl.load(); // iOS 9   还需要额外的 load 一下, 否则直接 play 无效

audioEl.play(); // iOS 7/8 仅需要 play 一下

}

 

// 可以自动播放时正确的事件顺序是

// loadstart

// loadedmetadata

// loadeddata

// canplay

// play

// playing

//

// 不能自动播放时触发的事件是

// iPhone5  iOS 7.0.6 loadstart

// iPhone6s iOS 9.1   loadstart -> loadedmetadata -> loadeddata -> canplay

audioEl.addEventListener(‘loadstart’, function() {

log(‘loadstart’);

}, false);

audioEl.addEventListener(‘loadeddata’, function() {

log(‘loadeddata’);

}, false);

audioEl.addEventListener(‘loadedmetadata’, function() {

log(‘loadedmetadata’);

}, false);

audioEl.addEventListener(‘canplay’, function() {

log(‘canplay’);

}, false);

audioEl.addEventListener(‘play’, function() {

log(‘play’);

// 当 audio 能够播放后, 移除这个事件

window.removeEventListener(‘touchstart’, checkorder, false);

}, false);

audioEl.addEventListener(‘playing’, function() {

log(‘playing’);

}, false);

audioEl.addEventListener(‘pause’, function() {

log(‘pause’);

}, false);

 

// 由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio,

// 因此我们通过一个用户交互事件来主动 play 一下 audio.

window.addEventListener(‘touchstart’, checkorder, false);

checkorder();

})();

 


版权所有丨如未注明 , 均为原创 , 转载请注明订单语音提醒
喜欢 (0)