前言

使用鸿蒙JS端分布式方法去实现简单的视频流转功能

正文

1.创建鸿蒙JS端空项目

分布式拉起将文件命名为Distributrd,选择保存路径,选择API6或者API7,设备勾选Phonet,最后点击Finish按钮。

若用API7的话,需要把compatibleSdkVersion改为6(我们所使用的虚拟机版本为6)

2.添加权限

    "reqPermissions": [{"name": "ohos.permission.DISTRIBUTED_DATASYNC"}],

3.在MainAbility.java中动态调用权限

public class MainAbility extends AceAbility {@Overridepublic void onStart(Intent intent) {super.onStart(intent);//检测设备是否被授予多设备协同权限// 动态判断权限if (verifySelfPermission("ohos.permission.DISTRIBUTED_DATASYNC") != IBundleManager.PERMISSION_GRANTED) {// 应用未被授予权限if (canRequestPermission("ohos.permission.DISTRIBUTED_DATASYNC")) {// 是否可以申请弹框授权(首次申请或者用户未选择禁止且不再提示)  手机本身也会有禁止弹窗的服务,该if方法为是否可以进行弹窗requestPermissionsFromUser(new String[]{"ohos.permission.DISTRIBUTED_DATASYNC"}, 0);}}}@Overridepublic void onStop() {super.onStop();}
}

4.页面分布式拉起

在index.js中编写代码

我们书写一个点击事件方法来实现分布式流转,使用FeatureAbility.startAbility(OBJECT)方法拉起一个FA,无回调结果,允许以显式的方式,拉起远程或本地的FA。其中OBJECT是StartAbilityParameter类型方法,需要填写各项对应的系统能力如必填的bundleName(启动包名)、abilityName(启动的Ability名称),另外entities为用户需要流转的部分(我们该部分是流转的视频)

export default {data: {title: "0",event:'',seekingtime:'',timeupdatetime:'',seekedtime:'',isStart: true,duration: '',video:'/common/video/onepiece.mp4'},onInit() {},distributed(){let target = {bundleName: "com.example.distributed",abilityName: "com.example.distributed.MainAbility",video:this.video};let result = FeatureAbility.startAbility(target);},preparedCallback:function(e){ this.event = '视频连接成功'; this.duration = e.duration;},startCallback:function(){ this.event = '视频开始播放';},pauseCallback:function(){ this.event = '视频暂停播放'; },finishCallback:function(){ this.event = '视频播放结束';},errorCallback:function(){ this.event = '视频播放错误';},seekingCallback:function(e){ this.seekingtime = e.currenttime; },timeupdateCallback:function(e){ this.timeupdatetime = e.currenttime;},change_start_pause: function() {if(this.isStart) {this.$element('videoId').pause();this.isStart = false;} else {this.$element('videoId').start();this.isStart = true;}},
}

video组件编写可参考官网文档中心

5.效果展示

JS分布式流转基础学习相关推荐

  1. webpack html转成js,WebPack的基础学习

    Webpack Webpack 是一个前端的静态模块资源打包工具,能让浏览器也支持模块化.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. Webpack 核心主要 ...

  2. vue.js路由配置vue-router的基础学习 - 概念篇

    文章目录 引言 · 相关问题小结: 一.动态路由匹配 (两种情况) A. 两种情况,代码对比: B. 两种情况,效果图对比: C. 提醒 · 仔细体会: D. 优先级的问题: 二.嵌套路由 引言 · ...

  3. iframe跨域调用js_郑州Web前端基础学习之JS跨域知识梳理

    JS是Web前端开发三要素之一,是郑州Web前端基础学习中非常重要的知识点.JS涉及的知识点多且杂,很多同学反映不知如何下手,事实上,只要你认真记.多练习,就可以慢慢掌握它.今天千锋郑州Web前端培训 ...

  4. Spark基础学习笔记04:搭建Spark伪分布式环境

    文章目录 零.本讲学习目标 一.搭建伪分布式Hadoop (一)登录ied虚拟机 (二)配置免密登录 1.生成密钥对 2.将生成的公钥发送到本机(虚拟机ied) 3.验证虚拟机是否能免密登录本机 (三 ...

  5. 分布式基础学习(1)--分布式文件系统

    分布式基础学习 所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS.Map/Reduce.BigTable为框架核心的分布式存储和计算系统.通常如我一样初学的人,会以Google这几份经 ...

  6. 分布式基础学习【一】 —— 分布式文件系统

    分布式基础学习 所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS.Map/Reduce.BigTable为框架核心的分布式存储和计算系统.通常如我一样初学的人,会以Google这几份经 ...

  7. 两个读书笔记:springboot+vue.js分布式组件全栈开发训练营 + 大数据开发基础

    (springboot+vue.js分布式组件全栈开发训练营原文在notion中, 大数据开发在思维导图中, 这个博客只是保存, 无法阅读. ) what is different between s ...

  8. java学习_Python基础学习教程:从0学爬虫?让爬虫满足你的好奇心

    Python基础学习教程:从0学爬虫?让爬虫满足你的好奇心 有必要学爬虫吗? 我想,这已经是一个不需要讨论的问题了. 爬虫,"有用"也"有趣"! 这个数据为王的 ...

  9. ElasticSearch基础学习

    ElasticSearch基础学习 一.全文检索基础 1.1.什么是全文检索 1.2.全文检索流程 1.3.相关概念 1.3.1.索引库 1.3.2.document对象 1.3.3. field对象 ...

最新文章

  1. Caught exception java.lang.interruptedException(在集群上进行多个文件合并压缩时出错)
  2. 【新星计划】Python print输出带颜色 总结
  3. api 定位 微信小程序 精度_聊聊微信小程序内置地图定位的精确性
  4. 做计算机的小卫士教案,小卫士在行动小班教案
  5. Android实战:手把手实现“捧腹网”APP(二)-----捧腹APP原型设计、实现框架选取
  6. spark减少内存消耗_将内存消耗减少20倍
  7. UVA - 12096:The SetStack Computer
  8. unity如何往下挖地形_Unreal Engine地形系统辨析(一)
  9. NOIP2011选择客栈[递推]
  10. SCUT - 244 - 全新的游戏 - 凸包
  11. DLNg第三周:序列模型和注意力机制
  12. 迅为IMX6Q PLUS开发板烧写Android6.0系统方法
  13. 第3讲 zend原理剖析
  14. Java实现简易版金山打字
  15. 腰部按摩仪芯片-DLT8F71SC-杰力科创
  16. linux安装阵列卡驱动程序,linux 安装阵列卡驱动
  17. macbook或mac Apple ID 更新提示连接服务器出错
  18. IE8允许ActiveX控件设置
  19. android 解析json数据格式
  20. A题 海岛争霸

热门文章

  1. 模板方法模式——封装算法
  2. python:实现histogram stretch直方图拉伸算法(附完整源码)
  3. python snownlp评论分析_python snownlp情感分析简易demo
  4. Mysql官网下载过慢问题解决方案
  5. 【JAVA基础】初学者指南--两万字知识点总结--零基础,超详细 。
  6. 【SAP Hana】SAP S/4 HANA 数据库底表查询及运维管理
  7. 快应用底部导航栏的原生实现
  8. c语言自定义函数多个返回值,C语言函数返回值
  9. Tomcat优化(AJP 执行器 运行模式 参数优化)
  10. tuple python怎么用_python tuple基本用法