首次提交
This commit is contained in:
147
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.m
Normal file
147
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.m
Normal file
@@ -0,0 +1,147 @@
|
||||
//
|
||||
// LMCPInRoomVapView.m
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/17.
|
||||
//
|
||||
|
||||
#import "LMCPInRoomVapView.h"
|
||||
#import "QGVAPWrapView.h"
|
||||
#import "UIView+VAP.h"
|
||||
#import "QGVAPWrapView+download.h"
|
||||
|
||||
@interface LMCPInRoomVapView ()<HWDMP4PlayDelegate,VAPWrapViewDelegate>
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView *inRoomTXCover;
|
||||
@property (weak, nonatomic) IBOutlet UIView *leftHeaderVapCover;
|
||||
@property (weak, nonatomic) IBOutlet UIView *rightHeaderVapCover;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *leftHeaderPic;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *rightHeaderPic;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *leftNicknameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *rightNicknameLabel;
|
||||
|
||||
@property (nonatomic, strong) QGVAPWrapView *leftHeaderVapView;
|
||||
@property (nonatomic, strong) QGVAPWrapView *rightHeaderVapView;
|
||||
@property (nonatomic, strong) QGVAPWrapView *texiaoVapView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation LMCPInRoomVapView
|
||||
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
[super awakeFromNib];
|
||||
[self.leftHeaderVapCover addSubview:self.leftHeaderVapView];
|
||||
[self.leftHeaderVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.leftHeaderVapCover);
|
||||
}];
|
||||
|
||||
[self.rightHeaderVapCover addSubview:self.rightHeaderVapView];
|
||||
[self.rightHeaderVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.rightHeaderVapCover);
|
||||
}];
|
||||
|
||||
[self.inRoomTXCover addSubview:self.texiaoVapView];
|
||||
[self.texiaoVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(0);
|
||||
make.top.mas_equalTo(0);
|
||||
make.width.mas_equalTo(APPW);
|
||||
make.height.mas_equalTo(APPH);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)playVapWithDict:(NSDictionary *)dict
|
||||
{
|
||||
NSString *send_nick_name = [dict safeStringForKey:@"send_nick_name"];
|
||||
NSString *send_head_pic = [dict safeStringForKey:@"send_head_pic"];
|
||||
NSString *receive_nick_name = [dict safeStringForKey:@"receive_nick_name"];
|
||||
NSString *receive_head_pic = [dict safeStringForKey:@"receive_head_pic"];
|
||||
NSString *texiao_img = [dict safeStringForKey:@"texiao_img"];
|
||||
NSString *avatar_play_image = [dict safeStringForKey:@"avatar_play_image"];
|
||||
NSString *receive_avatar_play_image = [dict safeStringForKey:@"receive_avatar_play_image"];
|
||||
|
||||
if (avatar_play_image.length>0){
|
||||
[self.leftHeaderVapView playMemoryWithStr:C_string(avatar_play_image) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.leftHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:nil];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.leftHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
if (receive_avatar_play_image.length>0){
|
||||
[self.rightHeaderVapView playMemoryWithStr:C_string(receive_avatar_play_image) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.rightHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:nil];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.rightHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
if (texiao_img.length>0){
|
||||
[self.texiaoVapView playMemoryWithStr:C_string(texiao_img) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.texiaoVapView playHWDMP4:fileStr repeatCount:0 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.texiaoVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
[self.leftHeaderPic sd_setImageWithURL:[NSURL URLWithString:send_head_pic] placeholderImage:kDefaultUserIcon];
|
||||
[self.rightHeaderPic sd_setImageWithURL:[NSURL URLWithString:receive_head_pic] placeholderImage:kDefaultUserIcon];
|
||||
self.leftNicknameLabel.text = send_nick_name;
|
||||
self.rightNicknameLabel.text = receive_nick_name;
|
||||
}
|
||||
|
||||
|
||||
- (QGVAPWrapView *)leftHeaderVapView {
|
||||
if (!_leftHeaderVapView) {
|
||||
_leftHeaderVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_leftHeaderVapView.hwd_Delegate = self;
|
||||
_leftHeaderVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_leftHeaderVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _leftHeaderVapView;
|
||||
}
|
||||
|
||||
- (QGVAPWrapView *)rightHeaderVapView {
|
||||
if (!_rightHeaderVapView) {
|
||||
_rightHeaderVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_rightHeaderVapView.hwd_Delegate = self;
|
||||
_rightHeaderVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_rightHeaderVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _rightHeaderVapView;
|
||||
}
|
||||
|
||||
|
||||
- (QGVAPWrapView *)texiaoVapView {
|
||||
if (!_texiaoVapView) {
|
||||
_texiaoVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_texiaoVapView.hwd_Delegate = self;
|
||||
_texiaoVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_texiaoVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _texiaoVapView;
|
||||
}
|
||||
|
||||
- (void)vapWrap_viewDidStopPlayMP4:(NSInteger)lastFrameIndex view:(VAPView *)container
|
||||
{
|
||||
RCMicMainThread(^{
|
||||
self.hidden = YES;
|
||||
[self.leftHeaderVapView stopHWDMP4];
|
||||
[self.rightHeaderVapView stopHWDMP4];
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user