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

news2025/2/24 8:57:14

插件介绍

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

插件地址

乐橙摄像机播放插件(子账号云台对讲版) - 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-lechengSubVideoPlay ref="refLeCheng" v-if="initSdkSuccess" :config="config"
      style="height: 500rpx; width: 750rpx;" @onError="onError" @onPlayResult="onPlayResult" @onOpenTalk="onOpenTalk"
      @onCloseTalk="onCloseTalk">
    </leven-lechengSubVideoPlay>
    <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-lechengsubaccount-leChengSubModule')
  export default {
    data() {
      return {
        title: 'Hello',
        config: {
          deviceId: ""
        },
        initSdkSuccess: false
      }
    },
    onLoad() {

    },
    onReady() {
      // this.$refs.refLeCheng.initData();
      // 初始化sdk
      this.initSdk();
    },
    methods: {
      // 初始化sdk
      initSdk() {
        videoPlayPlugin.initSdk({
          url: "https://openapi.lechange.cn:443",
          appId: "",
          appSecret: ""
        }, (res) => {
          if (res.code == 0) {
            // 初始化成功
            this.initSdkSuccess = true;
            uni.showToast({
              icon: "none",
              title: "初始化成功"
            })

            // 登录子账户
            // this.loginSubAccount();
          } else {
            uni.showToast({
              icon: "none",
              title: JSON.stringify(res.message)
            })
          }
        })
      },
      // 登录子账户
      loginSubAccount() {
        videoPlayPlugin.loginSubAccount({
          subAccount: "15911111111"
        }, res => {});
      },
      // 失败
      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();
      },
      // 关闭对讲结果
      onCloseTalk(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,将全力协助你使用本插件。  

预览图片

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三种简单实用的方法帮助你去除抖音视频上的水印

如今越来越多的人涉足自媒体工作&#xff0c;在这个过程中&#xff0c;我们经常会遇到一个普遍的问题在寻找素材时&#xff0c;发现视频上带有抖音的水印&#xff0c;这些水印可能会对我们的创作产生负面影响&#xff0c;不过别担心&#xff01;我将与你分享三种简单实用的方法…

吴恩达怒斥AI阴谋、Hinton自证清白!Lecun掀起图灵奖大战、哈萨比斯进行回怼!美国AI顶流圈乱象纪实…

大家好&#xff0c;我是夕小瑶科技说编辑王二狗&#xff0c;最近AI圈大瓜不断&#xff0c;对此我表示吃的很是辛苦&#x1f62d; 所以求大家帮我吃一些 &#x1f64f; 别只让我一个人吃&#xff01; 就在前天&#xff0c;Yann LeCun作为图灵奖得主率先吵了起来&#xff0c;事情…

EXSi系统安装与使用

文章目录 EXSi系统安装与使用EXSi系统安装1.创建EXS虚拟机2.安装EXSi系统3.配置虚拟机 使用EXSi1.登录web页面2.扩充存储3.创建虚拟机4.使用虚拟机 EXSi系统安装与使用 EXSi系统安装 1.创建EXS虚拟机 创建虚拟机 2.安装EXSi系统 等待 回车 F11 回车 回车 设置密码&#xff…

MVCC详解

什么是MVCC&#xff1f; MVCC&#xff0c;即Multi-Version Concurrency Control &#xff08;多版本并发控制&#xff09;。它是一种并发控制的方法&#xff0c;一般在数据库管理系统中&#xff0c;实现对数据库的并发访问&#xff0c;在编程语言中实现事务内存。 通俗的讲&am…

新晋“断货王”!西圣Olite开放式耳机掀起抢购热潮,双十一首日售罄!

在双十一首日&#xff0c;西圣olite开放式耳机凭借其超高性价比&#xff0c;一举拿下“断货王”称号&#xff0c;在双十一首日已售罄&#xff0c;现在在各大电商平台均显示无货。 这一消息引起了社交媒体的热议&#xff0c;除了其超高性价比&#xff0c;性能可以媲美千元级别耳…

MCU HardFault_Handler调试方法

一.获取内核寄存器的值 1.在MDK的DEBUG模式下&#xff0c;当程序出现跑飞后&#xff0c;确定卡死在HardFault_Handler中断处 2. 通过Register窗口读取LR寄存器的值来确定当前系统使用堆栈是MSP还是PSP LR寄存器值堆栈寄存器0xFFFFFFF9MSP寄存器0xFFFFFFFDPSP寄存器 如下图所…

智能安防视频监控平台EasyCVR级联上级时无播放画面是什么原因?该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…

bitlocker恢复保护时出现 驱动器加密错误 向导初始化失败 系统找不到指定文件

环境&#xff1a; Win 10专业版 联想E14 Gen2 问题描述&#xff1a; bitlocker恢复保护时出现 驱动器加密错误 向导初始化失败 系统找不到指定文件 电脑更换主板后&#xff0c;重新恢复保护出现 驱动器加密错误 解决方案&#xff1a; 1.尝试重启电脑&#xff08;未解决&a…

如何使用查看器筛选、搜索功能进行数据定位?

前言 我们曾探讨过观测云如何通过将内置视图与查看器相联结&#xff0c;实现更全面的数据关联分析。&#xff08;参见《内置视图联动查看器&#xff0c;实现数据关联分析》&#xff09;这里提到的查看器&#xff0c;实际是一个功能全面且强大的数据查看分析工具。其提供多种搜…

【移远QuecPython】EC800M物联网开发板的UART串口配置

【移远QuecPython】EC800M物联网开发板的UART串口配置 文章目录 UART初始化UART读写写数据轮询读取中断读取 串口测试附录&#xff1a;列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 UART初始化 UART库&#xff1a; from machine import UART引脚和UART对应…

希望简单充实的日子,被喜欢的事填满~

流行的Polo领设计&#xff0c;舒适贴身&#xff0c;满满的时尚范儿 无论是男孩还是女孩&#xff0c;都可以轻松驾驭哦 罗纹收口设计使衣服更加贴身&#xff0c;保暖性能更佳 加绒内里为孩子提供了舒适的穿着体验&#xff0c; 拉链翻领时尚设计而且方便孩子穿脱 此外&#…

AI图像识别初次尝试

1.人形识别结果 2.代码 pythonOpenCVyolov3训练库&#xff0c;代码如下&#xff1a; #!/usr/bin/env python3 # -*- coding: utf-8 -*- import cv2 import numpy as np import osimgFiles["pic03.jpg", "pic04.jpg"]netNone classesNone colorsNonedef r…

一大早被用户吵醒!微信小程序用不了了【微信小程序用户隐私保护】

一、一开始事情是这样事儿的 几周前用户收到提示的时候发给我看&#xff0c;我没有当回事&#xff08;ps内心:能腾一腾就腾一腾&#xff0c;没时间搞&#xff09; 几周后&#xff0c;突然的一大早用户就给我发微信说微信小程序登录不进去&#xff0c;学生没法正常使用学习&am…

猫耳 Android 播放框架开发实践

概述 猫耳FM是中国最大的 95 后声音内容分享平台&#xff0c;是B站重要平台之一&#xff0c;深度合作国内顶级声优工作室&#xff0c;打造了数百部精品广播剧&#xff0c;全站播放总量超过百亿次。 MEPlayer 是猫耳 Android 技术团队研发的一款适用于音视频、直播、特效播放等…

hustoj在线判题平台详细搭建二开及美化过程(ubuntu20.04 / centos7.9)常见问题解决

服务器配置需求 阿里云 腾讯云 华为云均可&#xff0c;腾讯云目前是最合适的。 腾讯云 2H4G 5M 60GB 轻量应用服务器 承载大约 200~400人使用&#xff0c;经过压力测试&#xff0c;评测并发速度可满足130人左右的在线比赛。 镜像选Ubuntu22.04LTS&#xff0c;物理机安装Ubun…

从冷酷到温馨:当代浴室的新面貌

如今的现代浴室不再是单纯的卫生空间&#xff0c;它兼具庇护之地和功能性。浴室是仪式和放松的场所&#xff0c;旨在通过精心设计的颜色、色调、材料和表面&#xff0c;传达宁静和舒适的感觉。它应该是一个温和的空间&#xff0c;而不是一个冰冷的地方。 过去&#xff0c;浴室中…

【Linux】权限和权限管理

【Linux】权限和权限管理 一、shell命令以及运行原理二、Linux权限的概念root和普通用户直接的身份切换临时权限提升 三、Linux权限管理01.文件访问者的分类&#xff08;人&#xff09;02.文件类型和访问权限&#xff08;事物属性&#xff09;03.文件权限值的表示方法04.文件访…

接口测试 —— Jmeter 之测试片段的应用

一、什么是测试片段&#xff1f; 控制器上一种特殊的线程组&#xff0c;它与线程组处于一个层级。与线程组不同的就是&#xff1a;测试片段不会执行。它是一个模块控制器或者被控制器应用时才会被执行。通常与Include Controller或模块控制器一起使用。 1.1 那它有啥作用&…

VSCode配置Fortran并运行国际参考电离层2020模型(IRI2020)

VSCode配置Fortran并运行国际参考电离层2020模型&#xff08;IRI2020&#xff09; 由于VSCode具有轻量、强大的代码编辑功能和丰富的插件生态系统&#xff0c;受到广大编程人员的青睐&#xff0c;在科学研究中也应用广泛。在电离层研究中&#xff0c;IRI模型可以计算出给定的地…

518抽奖软件,后台操作对观众隐藏不可见

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 电脑2种投影模式 复制模式 - 使电脑所连接的…