html audio点击图片播放,html5 audio在微信中需要先点击播放然后才能用.play().pause()控制为什么呢?...

下面代码是想实现在微信中页面滑动到特定的范围播放特定的音频

目前遇到的问题是页面滑动音频不播放,但是只要先每个音频点击一下播放再暂停以后就可以滑动播放了,请问这是为什么呢?是哪块代码写的不稳妥吗?

function autoPlayAudio1() {

wx.config({

// 配置信息, 即使不正确也能使用 wx.ready

debug: false

, appId: ''

, timestamp: 1

, nonceStr: ''

, signature: ''

, jsApiList: []

});

wx.ready(function () {

var mp3 = document.getElementById('bgmusic')

, a1 = document.getElementById('a1')

, a2 = document.getElementById('a2');

//a1.play();

console.log('ok')

$(window).scroll(function () {

var x = $('.audio2').offset().top - $(window).scrollTop();

console.log(x)

if (x < 4500 && x > 4000) {

a1.play();

a2.pause();

}

else if (x < 4000 && x > 3500) {

a2.play();

a1.pause();

}

});

});

}

autoPlayAudio1();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现高仿微信语音播放效果,可以使用HTML5的`audio`标签来实现。下面是一个简单的示例代码: ```html <audio id="audio" preload="auto"> <source src="audio.mp3" type="audio/mpeg"> </audio> <button id="play-btn">播放</button> <script> var audio = document.getElementById('audio'); var playBtn = document.getElementById('play-btn'); audio.addEventListener('play', function() { playBtn.classList.add('playing'); }); audio.addEventListener('pause', function() { playBtn.classList.remove('playing'); }); playBtn.addEventListener('click', function() { if (audio.paused) { audio.play(); } else { audio.pause(); } }); </script> <style> #play-btn { background-color: transparent; border: none; cursor: pointer; font-size: 0; outline: none; padding: 0; } #play-btn::before { content: '\f001'; font-family: 'FontAwesome'; font-size: 24px; } #play-btn.playing::before { content: '\f28c'; } audio { display: none; } </style> ``` 在这个示例,我们创建了一个`audio`标签来加载并播放音频文件。当音频文件开始播放时,我们添加一个`playing`类来切换播放按钮的图标,当音频文件暂停时,我们将这个类移除。在点击播放按钮时,我们检查音频文件的播放状态,如果它已经暂停,我们就开始播放,否则就暂停它。 CSS部分定义了播放按钮和播放状态的样式,这个样式可以根据你的需要进行修改。 你可以将这个示例代码的`audio.mp3`替换成你自己的音频文件,并将样式代码改为更符合你的需求的样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值