vue3使用video-player實現視頻播放(可拖動視頻窗口、調整大小)

1.安裝video-player

npm install video.js @videojs-player/vue --save

在main.js中配置全局引入

// 導入視頻播放組件
import VueVideoPlayer from '@videojs-player/vue'
import 'video.js/dist/video-js.css'const app = createApp(App)
// 視頻播放組件
app.use(VueVideoPlayer)

2.安裝拖拽組件vue3-draggable-resizable

npm install vue3-draggable-resizable

3.使用vue3-draggable-resizable

<template><div id="app"><div class="parent"><Vue3DraggableResizable:initW="110":initH="120"v-model:x="x"v-model:y="y"v-model:w="w"v-model:h="h"v-model:active="active":draggable="true":resizable="true"@activated="print('activated')"@deactivated="print('deactivated')"@drag-start="print('drag-start')"@resize-start="print('resize-start')"@dragging="print('dragging')"@resizing="print('resizing')"@drag-end="print('drag-end')"@resize-end="print('resize-end')">This is a test example</Vue3DraggableResizable></div></div>
</template><script>
import { defineComponent } from 'vue'
import Vue3DraggableResizable from 'vue3-draggable-resizable'
//default styles
import 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css'
export default defineComponent({components: { Vue3DraggableResizable },data() {return {x: 100,y: 100,h: 100,w: 100,active: false}},methods: {print(val) {console.log(val)}}
})
</script>
<style>
.parent {width: 200px;height: 200px;position: absolute;top: 100px;left: 100px;border: 1px solid #000;user-select: none;
}
</style>

具體使用方法可查看官方文檔:vue3-draggable-resizable/docs/document_zh.md at main · a7650/vue3-draggable-resizable · GitHub

首先去掉右上角的縮放句柄,將一個按鈕放在右上角,這樣我們就可以隨時使用v-if關閉這個拖拽窗口,將視頻放入拖拽窗口中,代碼:

<Vue3DraggableResizable v-if="cunzai" :lockAspectRatio="true":handles="['tl', 'tm', 'mr', 'ml', 'bl', 'bm', 'br']" :initW="320" :initH="180" :minW="320" :minH="180"v-model:x="x" v-model:y="y" v-model:w="w" v-model:h="h" v-model:active="active" :draggable="true":resizable="true" :parent="true" @activated="print('activated')" @deactivated="print('deactivated')"@drag-start="print('drag-start')" @resize-start="print('resize-start')" @dragging="print('dragging')"@resizing="print('resizing')" @drag-end="print('drag-end')" @resize-end="print('resize-end')"><div class="close" @click="close()"><Icon size="20" color="#1196db" type="md-close-circle" /></div><div><video-player v-if="modal1" :controls="true" :autoplay="false" :src="videoSrc" :options="playerOptions":volume="0.6" /></div></Vue3DraggableResizable>

?視頻部分代碼:

// 視頻鏈接地址
const videoSrc = ref('url');  //自定義url
// 視頻播放器配置
let playerOptions = ref({height: 250,width: 250, playbackRates: [0.7, 1.0, 1.5, 2.0], autoplay: false, muted: true, loop: true, preload: 'auto', language: 'zh-CN',aspectRatio: '16:9', fluid: true, notSupportedMessage: '此視頻暫無法播放,請稍后再試', // 允許覆蓋Video.js無法播放媒體源時顯示的默認信息。controls: true,controlBar: {timeDivider: true,durationDisplay: true,remainingTimeDisplay: false,fullscreenToggle: true // 全屏按鈕}
})
const cunzai = ref(false);
//關閉視頻
function close() {cunzai.value = false
}

這樣就可以實現視頻窗口的放大縮小移動。

放大移動;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64488.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64488.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64488.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于卷積神經網絡的甲狀腺結節識別系統,resnet50,mobilenet模型【pytorch框架+python源碼】

更多目標檢測、圖像分類識別、目標追蹤等項目可看我主頁其他文章 功能演示&#xff1a; 甲狀腺結節識別系統&#xff0c;卷積神經網絡&#xff0c;resnet50&#xff0c;mobilenet【pytorch框架&#xff0c;python源碼】_嗶哩嗶哩_bilibili &#xff08;一&#xff09;簡介 …

C++--類與對象

1.封裝 封裝是c面向對象的三大特性之一 將屬性和行為作為一個整體 將屬性和行為加以權限控制 語法&#xff1a; class 類名{ 訪問權限: 屬性/行為 }; 訪問權限 public 公共權限 類內類外均可以訪問 protected 保護權限 類內可以訪問&#xff0c;類外不可以訪問 pr…

區塊鏈期末復習3:跨鏈原子交換其他加密貨幣

參考教材&#xff1a;《區塊鏈&#xff1a;技術驅動金融》 一、跨鏈原子交換&#xff08;不可分割的交叉鏈互換&#xff09; 1.實施步驟 假設Alice要拿1BTC交換Bob的3BCY。Alice作為交易的發起者。 1&#xff09;Alice創建一個secret&#xff08;一個隨機數x), 并計算其哈希…

OCR實踐-Table-Transformer

前言 書接上文 OCR實踐—PaddleOCR Table-Transformer 與 PubTables-1M table-transformer&#xff0c;來自微軟&#xff0c;基于Detr&#xff0c;在PubTables1M 數據集上進行訓練&#xff0c;模型是在提出數據集同時的工作&#xff0c; paper PubTables-1M: Towards comp…

重裝操作系統后 Oracle 11g 數據庫數據還原

場景描述&#xff1a; 由于SSD系統盤損壞&#xff0c;更換硬盤后重裝了操作系統&#xff0c;Oracle數據庫之前安裝在D盤(另一個硬盤)&#xff0c;更換硬盤多添加一個盤符重裝系統后盤符從D變成E&#xff0c;也就是之前的D:/app/... 變成了現在的 E:/app/...&#xff0c;重新安裝…

gozero項目接入elk的配置與實戰

在 **GoZero** 項目中接入 **ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;** 來進行日志管理&#xff0c;是一個非常強大的監控和分析方案。通過集成 ELK&#xff0c;你可以收集、存儲、查詢和可視化日志數據。 在這里&#xff0c;我將介紹如何在 GoZero 項目中…

探索PIL庫:Python圖像處理的強大工具

文章一覽 前言一、PIL圖像處理庫簡介二、基本概念2.1顏色模型2.1.1 RGB 顏色模型2.1.2 CMY色彩空間 2.2 通道2.3 圖像數據2.4 模式 三、用PIL做圖像處理3.1 圖像縮放、翻轉等處理3.1.1 圖像縮放處理3.1.2 圖像旋轉處理&#xff08;1&#xff09;PIL 提供的函數:&#xff08;2&a…

boot工程需求

1、 關閉看門狗、初始化中斷和trap向量表&#xff0c;進行時鐘和外設初始化&#xff0c;讓芯片正常運行起來 2、 提供CAN ETH等用于通訊功能的驅動&#xff0c;能夠接受外部數據的傳輸請求 3、 提供Flash的讀寫與擦除驅動&#xff0c;設置服務來對通訊端接受到的數據更新代…

C#中的類型和函數參數傳遞

1.類型 C#中類型分為兩類&#xff1a;值類型和引用類型 1.值類型 所有值類型繼承自System.ValueType類&#xff08;這是System.Object的一個子類&#xff09; 值類型變量是直接存儲數據&#xff0c;值類型變量聲明后&#xff0c;不管是否賦值&#xff0c;編譯器都會為其分配…

android系統查找應用包名以及主activity:

一、查找應用的主activity&#xff1a; pm list packages 發現所有的包 dumpsys package 包名&#xff1a; 獲取所有的包信息&#xff0c;可以所有關鍵詞MAIN來找主activity 也可以通過下面命令找到所有activity&#xff0c;看下面大概率com.android.settings/.Settings為主ac…

微信V3支付報錯 平臺證書及平臺證書序列號

1.平臺證書及平臺證書序列號設置錯誤報錯&#xff1a; 錯誤1&#xff1a; Verify the response’s data with: timestamp1735184656, noncea5806b8cabc923299f8db1a174f3a4d0, signatureFZ5FgD/jtt4J99GKssKWKA/0buBSOAbWcu6H52l2UqqaJKvrsNxvodB569ZFz5G3fbassOQcSh5BFq6hvE…

在Ubuntu下通過Docker部署Mastodon服務器

嘿&#xff0c;朋友們&#xff0c;今天咱們來聊聊如何在Ubuntu上通過Docker部署Mastodon服務器。想要擁有自己的社交媒體平臺&#xff1f;Mastodon就是個不錯的選擇&#xff01;&#x1f310;&#x1f680; Docker與Mastodon簡介 Docker是一個開源的容器化平臺&#xff0c;讓…

Es搭建——單節點——Linux

Es搭建——單節點——Linux 一、安裝 下載安裝包&#xff1a; 官網下載地址&#xff1a;https://www.elastic.co/downloads/elasticsearch 上傳包到linux 切換到安裝目錄下 解壓&#xff1a;tar -zxvf elasticsearch-7.17.1-linux-x86_64.tar.gz 重命名安裝文件夾 mv elastics…

【機器學習】梯度下降

文章目錄 1. 梯度下降概念2. 梯度下降的技巧2.1 動態設置學習率2.2 Adagrad調整梯度2.3 隨機梯度下降&#xff08;SGD&#xff09;2.4 特征縮放 3. 梯度下降理論基礎 1. 梯度下降概念 梯度&#xff1a;Loss 對參數在某一點的偏微分&#xff0c;函數沿梯度的方向具有最大的變化…

數據庫在大數據領域的探索與實踐:動態存儲與查詢優化

在大數據時代&#xff0c;數據庫的靈活性與高效性成為數據存儲與分析的重要基石。從關系型數據庫到 NoSQL 數據庫的演進&#xff0c;開發者逐漸可以在結構化與非結構化數據間找到平衡。本文將聚焦大數據場景下的數據庫實踐&#xff0c;尤其是如何動態存儲與查詢復雜數據&#x…

【Python科研數據爬蟲】基于國家標準查詢平臺和能源標準化信息平臺的海上風電相關行業標準查詢信息爬取及處理

基于國家標準查詢平臺和能源標準化信息平臺的海上風電相關行業標準查詢信息爬取及處理 1 背景2 標準檢索平臺2.1 能源標準化信息平臺2.2 全國標準信息公共服務平臺3 標準信息數據的爬取與處理3.1 能源標準化信息平臺的信息爬取3.2 全國標準信息公共服務平臺的信息爬取3.3 標準信…

AWS Certified AI Practitioner 自學考試心得

學習目標&#xff1a; 考取 AWS Certified AI Practitioner 那什么是 AWS Certified AI Practitioner 認證 是基礎級的認證 比較簡單 — 學習內容&#xff1a; 1. AWS網站自學網站 極客時間免費課程&#xff1a;http://gk.link/a/12sJL 配合極客時間課程的章節測試檢驗自…

Ngnix介紹、安裝、實戰及用法!!!

一、Nginx簡介 1、Nginx概述 Nginx (“engine x”) 是一個高性能的 HTTP 和 反向代理服務器&#xff0c;特點是占有內存少&#xff0c;并發能力強&#xff0c;能經受高負載的考驗,有報告表明能支持高達 50,000 個并發連接數 。 2、正向代理 正向代理&#xff1a;如果把局…

05.HTTPS的實現原理-HTTPS的握手流程(TLS1.2)

05.HTTPS的實現原理-HTTPS的握手流程&#xff08;TLS1.2&#xff09; 簡介1. TLS握手過程概述2. TLS握手過程細化3. 主密鑰&#xff08;對稱密鑰&#xff09;生成過程4. 密碼規范變更 簡介 主要講述了混合加密流程完成后&#xff0c;客戶端和服務器如何共同獲得相同的對稱密鑰…

YOLO11全解析:從原理到實戰,全流程體驗下一代目標檢測

前言 一、模型介紹 二、網絡結構 1.主干網絡&#xff08;Backbone&#xff09; 2.頸部網絡&#xff08;Neck&#xff09; 3.頭部網絡&#xff08;Head&#xff09; 三、算法改進 1.增強的特征提取 2.優化的效率和速度 3.更高的準確性與更少的參數 4.環境適應性強 5.…