java投屏 dlna 安卓_DLNA投屏,支持IOS和安卓

这是一个关于如何使用java实现的DLNA投屏插件的教程,适用于安卓和iOS。修复了安卓设备再次搜索不到设备的问题,并提供了获取本机IPV4地址的接口。该插件通过简单的接口实现扫描、停止扫描、获取扫描结果、投屏和结束投屏等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新记录

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

原生插件通用使用流程:

购买插件,选择该插件绑定的项目。

在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。

根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。

打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

开发完毕后正式云打包

注意事项:使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值