更新记录

1.0.20200413(2020-04-13)

增加获取本机IPV4地址的接口getIpAddress,解决有些小伙伴需要在手机上起http服务来进行投屏无法获取本机IP的问题。目前只在wifi环境下进行过测试。源码已经上传到码云上,有能力的小伙伴还是建议自己去编译打包调试,uniApp的生态还要靠大家去维护完善,感谢DCloud,希望做的越来越好。 qq:1193890771 有问题可留言、发邮件至qq邮箱或加qq咨询(加qq请备注“uniapp投屏”) 谢谢

1.0.20200408(2020-04-08)

1.修复安卓再次搜索搜索不到设备的bug;

查看更多

平台兼容性

Android iOS
适用版本区间:4.4 - 10.0 支持CPU类型:armeabi-v7a,arm64-v8a,x86 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


使用说明: 本插件通过DLNA协议实现了简易版的投屏功能,支持安卓和IOS,功能很简单,目前只有以下几个接口: 扫 描 设 备:lyzmlDLNA.startSearch(callback); 停 止 扫 描:lyzmlDLNA.stopSearch(); 获取扫描结果:lyzmlDLNA.getSearchResult(callback); 投 屏:lyzmlDLNA.playVideo({ip:"",mediaURL:""},callback); 结 束 投 屏:lyzmlDLNA.stopVideo(); 获取本机 IP:lyzmlDLNA.getIpAddress(callback);

1、在需要的页面上获取插件 const lyzmlDLNA = uni.requireNativePlugin('lyzml-DLNA');

2、开启扫描 lyzmlDLNA.startSearch((devList)=>{ //返回扫描的结果,eg: [{ip:"192.168.0.108",name:"xiaomiTV"}] }); 扫描到新的设备都会触发此回调,可能会多次回调,注意返回的结果是否重复;

3、停止扫描接口:lyzmlDLNA.stopSearch();

4、可以主动调用接口获取扫描到的结果,这个接口就算是停止扫描后也可以获取到之前扫描的结果,返回的结果和startSearch的回调结果一致: lyzmlDLNA.getSearchResult((devList)=>{ //返回扫描的结果,eg: [{ip:"192.168.0.108",name:"xiaomiTV"}] });

5、投屏接口,通过IP来指定投屏设备,将音视频的url投屏到设备上进行播放,ip为扫描返回结果中的IP lyzmlDLNA.playVideo({ ip:“192.168.0.108”, mediaURL:url },(resp)=>{ //这里有个回调,可以不用 //返回信息{code:"0",desc:"播放成功"} //code非0时为失败,desc返回失败原因 } });

6、结束投屏:lyzmlDLNA.stopVideo();

7、获取本机IP:lyzmlDLNA.getIpAddress((ip)=>{ console.log("====getIPAddress====",ip); });

参考资料(感谢github的开源项目): https://github.com/ClaudeLi/DLNA_UPnP https://github.com/zhangwenxue/CyberGarage4Android

https://gitee.com/feiser/M3U8Loader.git

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问