纯OC实现iOS DLNA投屏功能了解一下
iOS上实现DLNA功能Github上搜一下大多是基于C++的Platinum,于是就想能不能靠OC实现一套方便iOS开发者.于是就有了MRDLNA这个库.
DLNA投屏的相关的介绍,协议,具体XML内容就不细说了. 这里介绍一下 MRDLNA这个库的投屏使用.
支持Pod安装MRDLNA
一.搜索设备
设置好代理
self.dlnaManager = [MRDLNA sharedMRDLNAManager];
self.dlnaManager.delegate = self;
复制代码
调用开始搜索后就会搜索整个局域网中支持投视频的设备
- (void)viewWillAppear:(BOOL)animated{[super viewWillAppear:animated];[self.dlnaManager startSearch];
}
复制代码
二.发现设备后的回调
发现设备后在代理中可以拿到
- (void)searchDLNAResult:(NSArray *)devicesArray{NSLog(@"发现设备");self.deviceArr = devicesArray;[self.dlnaTable reloadData];
}//devicesArray中拿到的是CLUPnPDevice类型的对象
复制代码
- Demo中将搜索页面和投屏控制页面分开来的,所以在搜索页面搜索到设备后就把目标设备和播放Url设置给了dlnaManager
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{NSString *testUrl = @"http://223.110.239.40:6060/cntvmobile/vod/p_cntvmobile00000000000020150518/m_cntvmobile00000000000659727681";[tableView deselectRowAtIndexPath:indexPath animated:YES];if (indexPath.row < self.deviceArr.count) {CLUPnPDevice *model = self.deviceArr[indexPath.row];self.dlnaManager.device = model;self.dlnaManager.playUrl = testUrl;DLNAControlVC *controlVC = [[DLNAControlVC alloc] init];controlVC.model = model;[self.navigationController pushViewController:controlVC animated:YES];}
}
复制代码
三.投屏
- (void)viewDidLoad {[super viewDidLoad];self.dlnaManager = [MRDLNA sharedMRDLNAManager];[self.dlnaManager startDLNA];
}
复制代码
四.投屏后的播放控制
/**退出*/
- (IBAction)closeAction:(id)sender {[self.dlnaManager endDLNA];
}/**播放/暂停*/
- (IBAction)playOrPause:(id)sender {if (_isPlaying) {[self.dlnaManager dlnaPause];}else{[self.dlnaManager dlnaPlay];}_isPlaying = !_isPlaying;
}/**进度条seek单位是秒*/
- (IBAction)seekChanged:(UISlider *)sender{NSInteger sec = sender.value * 60 * 60;NSLog(@"播放进度条======>: %zd",sec);[self.dlnaManager seekChanged:sec];
}/**音量volume建议传0-100之间字符串*/
- (IBAction)volumeChange:(UISlider *)sender {NSString *vol = [NSString stringWithFormat:@"%.f",sender.value * 100];NSLog(@"音量========>: %@",vol);[self.dlnaManager volumeChanged:vol];
}/**切集*/
- (IBAction)playNext:(id)sender {NSString *testVideo = @"http://wvideo.spriteapp.cn/video/2016/0328/56f8ec01d9bfe_wpd.mp4";[self.dlnaManager playTheURL:testVideo];
}
复制代码
转载于:https://juejin.im/post/5aeff0af518825672033fb12
纯OC实现iOS DLNA投屏功能了解一下相关推荐
- mx播放器有没有投屏功能_芝杜DLNA投屏功能
DLNA投屏是一个非常高效实用的功能,也是众多高端家用播放器必备功能之一. 简而言之,便是把手机或平板电脑(同时支持苹果与安卓)中的界面,比如在线视频.音乐软件,直接通过播放器投射在电视机大屏幕上. ...
- 使用Platium库开发dlna投屏功能
这几天公司的应用(iOS端)上要加一个dlna的功能,就是局域网内设备投屏控制的一个功能,并提供移动端控制.因为三方库Platinum是使用C++写的,所以我被分配去做库的Objective-C封装的 ...
- android 投屏开发框架,Android DLNA投屏-基于CyberGarage开发投屏功能
在上一篇博客<Android DLNA投屏-基本原理>中,讲到了DLNA的一些基本原理.了解这些基本原理,对开发是很有帮助的.但仅仅依据原理去进行Android DLNA开发,是比较困难的 ...
- ios10 Android airplay,iOS下AirPlay投屏功能实现
这篇文章注重于如何实现AirPlay投屏功能.具体AirPlay的实现逻辑这里不再赘述,网上帖子很多 首先.想要呼出AirPlay列表的话,需要将MPVolumnView控件声明且添加到UI.上使用之 ...
- Android DLNA投屏-基本原理
转 https://www.jianshu.com/p/19934892a235 1. DLNA简介 DLNA(Digital Living Network Alliance),即数字家庭网络联盟. ...
- 怎么连接屏幕_触控一体机怎么实现无线投屏功能
触控一体机怎么实现无线投屏功能 今天早上有网友咨询,他会议室买的85寸触控会议平板,但是自带的无限投屏功能不能满足会议室的需求,想通过专业的无线投屏设备满足会议室的需求.通过对用户需求的了解,推荐相对 ...
- win10无线投屏_Win10系统自带手机投屏功能真的能取代投屏器吗?
Win10系统有自带的手机投屏功能你听说了吗?据说投屏简单快速.电脑与手机都无需下载第三方软件.更无需任何额外的费用. 这么好的投屏功能小编当然要来探索探索啦. 首先,我们来看看它的投屏步骤是否繁琐. ...
- 手机投屏功能说明及开发代码
手机投屏功能说明 手机投屏--主要是实现小屏转大屏功能,可以将手机上的图片,音频,视频,文档无线同步到HDMI接口电视机和投影从上大屏观看,适用于家庭娱乐,商务会议,教学培训等.应用场景: 一.将手机 ...
- linux 无线投屏windows,拼接屏加入无线投屏功能,新功能智慧体验
信弘新推出的拼接屏无线投屏功能的加入,能够将您手机.电脑.ipad.笔记本等设备上的图像.视频进行放大共享. 产品连接示意图:主机 USB 口连接鼠标或触控屏 USB 线后,即可点选触控桌面图标 信弘 ...
最新文章
- wp7 手机归属地查询
- OpenCV Laplacian算子
- STM32 电机教程 28 - ST MCLIB实战之 位置闭环控制
- Linux tar.gz、tar、bz2、zip的区别,如何选择呢
- VHD工具-VHDTOOL
- 2.1对 特征归一化 的一些理解
- python 图标题上移_Python-Matplotlib将图形标题移动到y轴
- 无法推动项目起步?试试麦当劳理论
- android switch自定义样式,Android自定义Switch样式
- express4.x中文文档
- matlab直流电机转速 电流双闭环,转速电流双闭环直流调速系统的课程设计(MATLABSimulink)..docx...
- chrome浏览器安装包点击无反应
- AppData文件夹下Local,Locallow和Roaming
- markdown如何生成一级标题
- SQL存储过程对象名无效
- 病毒分析--WannaCry分析--1
- 小白Nvidia TK1 Jetpack安装/重装系统详细步骤(小车第一步)
- 简单个人静态HTML网页设计作品 基于HTML+CSS+JavaScript仿小米手机网站 html静态在线购物商城网页制作
- mysql练习(1)
- myquant量化获取高频行情数据的操作步骤