投屏
投屏功能通过 VHDLNAControl 来进行集成
//初始化投屏对象
self.control=[[VHDLNAControl alloc] init];
_control.delegate = self;
///需要调用播放器方法 获知我们当前活动是否支持投屏 (必须调用)
///播放器投屏功能需要保证播放器为活跃状态
[moviePlayer dlnaMappingObject:self.control];
//获取设备列表
-(void)deviceList:(NSArray*)deviceList
{
self.deviceArray = [NSMutableArray arrayWithArray:deviceList];
if (deviceList.count >0 ) {
[_deviceTableView reloadData];
}
else{
[_deviceNameBtn setTitle:@"未选择设备" forState:UIControlStateNormal];
}
// if (self.deviceArray.count > 0) {
// self.control.curDevice = self.deviceArray[0];
// }
}
投屏所需设备参数
/**
* 获取投屏设备列表 通过注册VHDLNAContro的ldelegate来获取
*/
-(void)deviceList:(NSArray<VHDLNADevice *>*)deviceList;
@property (nonatomic,weak) VHDLNADevice *curDevice;//设置当前选择的设备后才能正常投屏
获取设备状态
/**
* 获取播放器状态
*/
-(void)deviceStateChange:(VHDLNADeviceState)deviceState;
/**
* 播放器状态 直播状态 回放状态由于用户创建的 MPMoviePlayerController 实例获取
*/
typedef NS_ENUM(NSInteger,VHDLNADeviceState) {
VHDLNADeviceStateNone = 0, //默认状态
VHDLNADeviceStateStoped = 1, //结束
VHDLNADeviceStateSetUrled = 2, //设置Url完成
VHDLNADeviceStatePlaying = 3, //播放中
VHDLNADeviceStatePause = 4, //暂停
};
投屏播放的操作
/**
* 播放初始化开始播放
*/
-(void)startSuccess:(void (^)(void))successBlock failure:(void (^)(NSError * error))failureBlock;
/**
* 开始播放
*/
-(void)playSuccess:(void (^)(void))successBlock failure:(void (^)(NSError * error))failureBlock;
/**
* 暂停播放
*/
-(void)pauseSuccess:(void (^)(void))successBlock failure:(void (^)(NSError * error))failureBlock;
/**
* 停止播放
*/
-(void)stopSuccess:(void (^)(void))successBlock failure:(void (^)(NSError * error))failureBlock;
/**
* 拖拽到指定进度播放
*/
-(void)seek:(NSInteger)seekpos success:(void(^)(void))successBlock failure:(void(^)(NSError *error))failureBlock;
DLNA 投屏 lib 库

修改于 2025-05-27 11:59:31