uniapp原生插件之乐橙摄像机播放插件(云台对讲版)

2023-11-23 07:59

本文主要是介绍uniapp原生插件之乐橙摄像机播放插件(云台对讲版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插件介绍

乐橙摄像机播放插件(云台对讲版),集成视频播放,对讲模式、云台控制

插件地址

乐橙摄像机播放插件(云台对讲版) - DCloud 插件市场

超级福利

uniapp 插件购买超级福利 

插件申请权限

  1. 麦克风权限(可参考示例项目)
  2. 网络请求权限
  3. 摄像头权限

manifest.json权限列表

/* android打包配置 */"android" : {"permissions" : ["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.INTERNET\"/>","<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>","<uses-permission android:name=\"android.permission.USE_CREDENTIALS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]},

页面内容

<template><view class="content"><leven-videoPlayComponent ref="refLeCheng" v-if="initSdkSuccess" :config="config"style="height: 500rpx; width: 750rpx;" @onError="onError" @onPlayResult="onPlayResult" @onOpenTalk="onOpenTalk"@Talk="Talk"></leven-videoPlayComponent><view class="button" style="width: 750rpx; margin-bottom: 20rpx;"><button @click="openTalk" style="flex: 1;">开启对讲</button><button @click="closeTalk">关闭对讲</button><button @click="closePlayer">销毁播放器资源</button></view><!-- 控制按钮 --><view class="controll-button-box"><view class="controll-button-box-inner"></view><!-- 三角形按钮 --><view class="sanjiao-image top" @touchstart="controlPtz('up')" @touchend="controlPtz('stop')"><image class="sanjiao-image-body" src="/static/images/icon-sanjiao-top.png"></image></view><view class="sanjiao-image left" @touchstart="controlPtz('left')" @touchend="controlPtz('stop')"><image class="sanjiao-image-body" src="/static/images/icon-sanjiao-left.png"></image></view><view class="sanjiao-image bottom" @touchstart="controlPtz('down')" @touchend="controlPtz('stop')"><image class="sanjiao-image-body" src="/static/images/icon-sanjiao-bottom.png"></image></view><view class="sanjiao-image right" @touchstart="controlPtz('right')" @touchend="controlPtz('stop')"><image class="sanjiao-image-body" src="/static/images/icon-sanjiao-right.png"></image></view></view></view>
</template><script>const videoPlayPlugin = uni.requireNativePlugin('leven-lechangeOpenPlatform-lechengModule')export default {data() {return {title: 'Hello',config: {deviceId: ""},initSdkSuccess: false}},() {},onReady() {// this.$refs.refLeCheng.initData();// 初始化sdkthis.initSdk();},methods: {// 初始化sdkinitSdk() {videoPlayPlugin.initSdk({url: "https://openapi.lechange.cn:443",appId: "",appSecret: ""}, (res) => {if (res.code == 0) {// 初始化成功this.initSdkSuccess = true;}})},// 失败onError(data) {uni.showToast({icon: "none",title: JSON.stringify(data.detail)})},// 播放状态onPlayResult(data) {// uni.showToast({//   icon: "none",//   title: JSON.stringify(data)// })if (data.detail == "success") {uni.showToast({icon: "none",title: "播放成功"})} else {uni.showToast({icon: "none",title: "播放失败"})}},// 开启对讲openTalk() {this.$refs.refLeCheng.openTalk();},// 开启对讲结果onOpenTalk(data) {if (data.detail == "success") {uni.showToast({icon: "none",title: "开启对讲成功"})} else {uni.showToast({icon: "none",title: "开启对讲失败"})}},// 关闭对讲closeTalk() {this.$refs.refLeCheng.closeTalk();},// 关闭对讲结果Talk(data) {if (data.detail == "success") {uni.showToast({icon: "none",title: "关闭对讲成功"})} else {uni.showToast({icon: "none",title: "关闭对讲失败"})}},// 云台控制controlPtz(type) {switch (type) {case "up":this.$refs.refLeCheng.ptzUp();break;case "down":this.$refs.refLeCheng.ptzDown();break;case "left":this.$refs.refLeCheng.ptzLeft();break;case "right":this.$refs.refLeCheng.ptzRight();break;default:this.$refs.refLeCheng.ptzStop();}},// 销毁播放资源closePlayer() {this.initSdkSuccess = false;this.$refs.refLeCheng.destroyPlayer();}}}
</script><style scoped>.content {flex-direction: column;align-items: center;}.controll-button-box {width: 400rpx;height: 400rpx;border-radius: 200rpx;border: 1px solid #13227a;background-color: #FFFFFF;justify-content: center;align-items: center;position: relative;}.controll-button-box-inner {width: 200rpx;height: 200rpx;border-radius: 100rpx;border: 1px solid #13227a;background-color: #F9F9F9;}.sanjiao-image {position: absolute;}.top {top: 0;}.left {left: 0;}.bottom {bottom: 0;}.right {right: 0;}.sanjiao-image-body {width: 100rpx;height: 100rpx;}
</style>

联系作者

  • 可下载实例文件,sdk的appId和appSecret以及播放视频的设备id需要用自己的数据
  • 购买插件前请先试用,试用通过再购买。在试用中如果遇到任何问题,可与作者联系,QQ:334106817,将全力协助你使用本插件。

预览图片

 

 

这篇关于uniapp原生插件之乐橙摄像机播放插件(云台对讲版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416480

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl