我是靠谱客的博主 大胆苗条,最近开发中收集的这篇文章主要介绍移动端微信自动播放音乐(含css动画暂停开始),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

    • 前言
    • CSS旋转动画
    • 自动播放
        • 微信里加载就自动播放
        • 预加载后自动播放
    • 点击播放暂停
        • 加上或移除类
        • css动画暂停开始

前言

做的H5大多需要音乐,其中音乐的样式都差不多,所以总结一份
音乐大多都有三点:旋转动画、自动播放、点击暂停开始

CSS旋转动画

我们要有一个基本的HTML代码以及对应的样式,例:

<div class="audio_icon audio_animation" data-mp3="0" style="z-index: 9;">
<audio id="main_audio" src="music/1.mp3" loop></audio>
</div>
/* 音乐图标旋转动画 */
@-webkit-keyframes audio_icon {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes audio_icon {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/* 音乐图标 */
.audio_animation {
-webkit-animation: audio_icon 2s linear infinite;
animation: audio_icon 2s linear infinite;
}
.audio_icon {
display: none;
position: absolute;
top: 50px;
right: 50px;
width: 48px;
height: 48px;
background: url(./images/music.png) no-repeat;
background-size: 100% 100%;
cursor: pointer;
}
/* 音乐结束 */

自动播放

这里分为两种,分别是加载的时候就自动播放,和预加载后自动播放(这里用的是preload.js)

微信里加载就自动播放

var audio = document.getElementById('main_audio');
function audioAutoPlay() {
/*audio.play();*/
document.addEventListener("WeixinJSBridgeReady", function() {
audio.play();
}, false);//在微信中使用音频和视频都需要进行这个监听。
}
audioAutoPlay();

预加载后自动播放

放在预加载中loadComplete函数里

var audio = document.getElementById('main_audio');
if(typeof WeixinJSBridge === 'object'){
WeixinJSBridge.invoke('getNetworkType', {}, function(e) {
audio.play();
});
}else{
audio.play()
}

点击播放暂停

播放暂停的函数都是一样的,图标动画的播放暂停两种方法:加上或移除类以及css动画暂停开始

加上或移除类

优点:兼容性较高
缺点:重复渲染,暂停的时候动画回到默认样式,较生硬

$('.audio_icon').on('click', function() {
var data_mp3 = $(this).attr('data-mp3');
if(data_mp3 == 0) {
$(".audio_icon").removeClass("audio_animation")
$(".audio_icon").attr('data-mp3', '1');
audio.pause();
}
if(data_mp3 == 1) {
$(".audio_icon").addClass("audio_animation")
$(".audio_icon").attr('data-mp3', '0');
audio.play();
}
})

css动画暂停开始

优点:不需要重复渲染,动画暂停的位置是暂停时在的角度
缺点:低版本手机不兼容,比如iphoneSE

$('.audio_icon').on('click', function() {
var data_mp3 = $(this).attr('data-mp3');
if(data_mp3 == 0) {
$(".audio_icon").css("animation-play-state", "paused");
$(".audio_icon").css("-webkit-animation-play-state", "paused");
$(".audio_icon").attr('data-mp3', '1');
audio.pause();
}
if(data_mp3 == 1) {
$(".audio_icon").css("animation-play-state", "running");
$(".audio_icon").css("-webkit-animation-play-state", "running");
$(".audio_icon").attr('data-mp3', '0');
audio.play();
}
})

最后

以上就是大胆苗条为你收集整理的移动端微信自动播放音乐(含css动画暂停开始)的全部内容,希望文章能够帮你解决移动端微信自动播放音乐(含css动画暂停开始)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部