zoukankan      html  css  js  c++  java
  • vue的keepalive,后台播放音乐?

    vue的keep-alive,是否能做到后台播放音视乐?

    答案当然是不能。
    因为处于失活状态的组件,其真实dom已经从页面移除了,只将其存放到了内存中。
    dom都不存在了,还播放啥。

    能做什么?

    顶多能做到“回到这个页面的时候,我还能做到继续从之前的位置自动播放”

    <template>
      <div class="home">
        <audio
          ref="myAudio"
          controls
          @play="onPlay"
          @pause="onPause"
          src="https://dshvv-1300009960.cos.ap-beijing.myqcloud.com/aegis/xby.mp3"
        ></audio>
      </div>
    </template>
    
    <script setup>
    import { onActivated, onDeactivated, ref } from "vue";
    
    const myAudio = ref(null); // 音频dom
    const auStatus = ref(false); // 记录离开页面时候音频播放状态
    const cmpLiveStatus = ref(true); // 当前页面live状态
    
    // 播放回调
    const onPlay = () => {
      auStatus.value = true;
    }
    
    // 暂停回调
    const onPause = () => {
      if (cmpLiveStatus.value) {
        auStatus.value = false
      }
    }
    
    // 回到页面的时候,如果音频上次是播放状态,则自动续播
    onActivated(() => {
      console.log("激活了", auStatus.value);
      cmpLiveStatus.value = true;
      if (auStatus.value) {
        myAudio.value.play();
      }
    });
    
    onDeactivated(() => {
      console.log("失活了");
      cmpLiveStatus.value = false;
    })
    </script>
    
  • 相关阅读:
    获取经纬度 CLLocation
    获取手机 IP
    UIBeaierPath 与 CAShapeLayer
    导航栏转场动画CATransition
    UITextField输入限制/小数/首位等
    程序进入后台继续执行
    发送短信
    网络AFNetworking 3.1
    UIBezierPath
    CoreAnimation 核心动画 / CABasicAnimation/ CAKeyframeAnimation
  • 原文地址:https://www.cnblogs.com/dshvv/p/15689889.html
Copyright © 2011-2022 走看看