uni-app 视频播放器插件需求

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app 视频播放器插件需求

需要一种 像朋友圈小视频播放,抖音 那种带各种功能 的播放器

1 回复

针对您提出的uni-app视频播放器插件需求,以下是一个基本的实现思路和代码示例。uni-app 是一个使用 Vue.js 开发所有前端应用的框架,它支持编译为 H5、小程序、App 等多个平台。为了实现一个视频播放器插件,我们可以利用 uni-app 提供的 <video> 组件,并封装成一个自定义组件。

1. 创建视频播放器组件

首先,在 components 文件夹下创建一个名为 VideoPlayer.vue 的文件。

<template>
  <view class="video-player">
    <video
      :src="videoSrc"
      :controls="controls"
      :autoplay="autoplay"
      @play="onPlay"
      @pause="onPause"
      @ended="onEnded"
      class="video-element"
    ></video>
    <view class="controls">
      <button @click="playPause">Play/Pause</button>
    </view>
  </view>
</template>

<script>
export default {
  props: {
    videoSrc: {
      type: String,
      required: true
    },
    controls: {
      type: Boolean,
      default: true
    },
    autoplay: {
      type: Boolean,
      default: false
    }
  },
  data() {
    return {
      isPlaying: false
    };
  },
  methods: {
    playPause() {
      const videoElement = this.$refs.videoElement;
      if (this.isPlaying) {
        videoElement.pause();
      } else {
        videoElement.play();
      }
      this.isPlaying = !this.isPlaying;
    },
    onPlay() {
      this.isPlaying = true;
    },
    onPause() {
      this.isPlaying = false;
    },
    onEnded() {
      console.log('Video ended');
    }
  }
};
</script>

<style scoped>
.video-player {
  position: relative;
  width: 100%;
  height: 300px; /* Adjust as needed */
}
.video-element {
  width: 100%;
  height: 100%;
}
.controls {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}
</style>

2. 使用视频播放器组件

然后,在您需要使用视频播放器的页面中引入并使用这个组件。

<template>
  <view>
    <VideoPlayer
      videoSrc="https://www.example.com/path/to/your/video.mp4"
      :autoplay="true"
    ></VideoPlayer>
  </view>
</template>

<script>
import VideoPlayer from '@/components/VideoPlayer.vue';

export default {
  components: {
    VideoPlayer
  }
};
</script>

以上代码提供了一个基本的视频播放器组件,包含播放、暂停、自动播放等功能,并展示了如何在页面中使用这个组件。您可以根据需要进一步扩展功能,如添加音量控制、进度条、全屏按钮等。

回到顶部