123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516 |
- //
- // YOUPAILCBigCastSetVC.m
- // LiveChat
- //
- // Created by 张灿 on 2018/8/30.
- // Copyright © 2018年 caicai. All rights reserved.
- //
- #import "YOUPAILCBigCastSetVC.h"
- #import "YOUPAILCSkillView.h"
- #import "YOUPAILZBigCastAudioSetVC.h"
- #import "FSAudioStream.h"
- #import "YOUPAIZYNobleSaleWindow.h"
- #import "UIViewController+TFPresent.h"
- #import "YOUPAIZYNobleDetailModel.h"
- @interface YOUPAILCBigCastSetVC ()
- @property(nonatomic,strong)UIView* youpaiptopView; /// 设置价格背景View
- @property(nonatomic,strong)YOUPAILCSkillModel* youpaipcurrentModel;
- @property (nonatomic, weak)UIView *youpaipaudioBgV;/// 音频背景View
- @property (nonatomic, weak)UIButton *youpaipaudioPlayBtn; // 播放音频按钮
- @property (nonatomic, weak)UILabel *youpaiptimerL;
- @property (nonatomic, weak)UIImageView *youpaipanimationImgV;
- @property (nonatomic, weak)UIView *youpaiphiddenCallCountBgV; // 是否隐藏通话次数背景View
- @property (nonatomic, weak)UIView *youpaiptfBgV; /// 输入价格背景View
- @property (nonatomic, weak)UITextField *youpaippriceTF;
- // 语音播放器
- @property (nonatomic, strong)FSAudioStream *youpaipaudioStream;
- @property (nonatomic, strong)NSTimer *youpaiptimer;
- @end
- @implementation YOUPAILCBigCastSetVC
- - (void)dealloc{
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- }
- - (void)viewWillAppear:(BOOL)animated{
- [super viewWillAppear:animated];
- [self youpaifrefreshData];
- }
- - (void)viewDidDisappear:(BOOL)animated{
- [super viewDidDisappear:animated];
- [self stopPlay];
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- self.title = @"女神设置";
-
- [self youpaifinitData];
- [self _setupPriceView];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youpaifkeyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(youpaifkeyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
- }
- - (void)youpaifinitData{
- [LCHttpHelper requestWithURLString:AnchorSet parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code==0) {
- NSMutableArray* skillArray = [YOUPAILCSkillModel mj_objectArrayWithKeyValuesArray:[dict objectForKey:@"data"]];
- if (skillArray.count>0) {
- self.youpaipcurrentModel = skillArray[0];
- [self youpaifsetupView];
- }
- }
- } failure:^(NSError *error) {
-
- }];
- }
- - (void)youpaifrefreshData{
- [LCHttpHelper requestWithURLString:UserCenter parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code==0) {//成功
- NSDictionary *anchor = [[dict objectForKey:@"data"]objectForKey:@"anchor"];
-
- NSDictionary *info = [[dict objectForKey:@"data"]objectForKey:@"userinfo"];
-
- if ([[anchor allKeys] containsObject:@"open_video_status"]) {
- if ([[anchor objectForKey:@"open_video_status"] integerValue] == 0) {//0 未开启 1 已开启
- [LCSaveData saveVideoOpenStatu:NO];
- }else{
- [LCSaveData saveVideoOpenStatu:YES];
- }
- }
- if ([[anchor allKeys] containsObject:@"order_switch"]) {
- if ([[anchor objectForKey:@"order_switch"] integerValue] == 1) {//1隐藏 2不隐藏
- [LCSaveData saveOrderOpenStatu:YES];
- }else{
- [LCSaveData saveOrderOpenStatu:NO];
- }
- }
- if ([[info allKeys] containsObject:@"is_msg_refuse"]) {
- if ([[info objectForKey:@"is_msg_refuse"] integerValue] == 1) {//1开启 0关闭
- [LCSaveData saveProfileWuraoStatus:YES];
- }else{
- [LCSaveData saveProfileWuraoStatus:NO];
- }
- }
-
- YOUPAILCBaseInfo* userinfo = [YOUPAILCBaseInfo mj_objectWithKeyValues:[[dict objectForKey:@"data"]objectForKey:@"userinfo"]];
- YOUPAILCUserModel* userModel = [LCSaveModel getUserModel];
- userModel.youpaipuserinfo = userinfo;
- [LCSaveModel saveUserModel:userModel];
- [self youpaifsetupView];
- }
- } failure:^(NSError *error) {
-
- }];
- }
- - (void)_setupPriceView{
-
- UIView *tfBgV = [[UIView alloc] initWithFrame:CGRectMake(0.0f, KScreenHeight, KScreenWidth, 48.0f)];
- tfBgV.backgroundColor = HexColorFromRGB(0xCFD3DB);
- [self.view addSubview:tfBgV];
- self.youpaiptfBgV = tfBgV;
- [LCTools clipCorner:UIRectCornerTopLeft|UIRectCornerTopRight View:tfBgV size:CGSizeMake(KScreenWidth, 48)];
- UITextField *priceTF = [[UITextField alloc] init];
- priceTF.placeholder = @"请输入价格";
- priceTF.font = LCFont15;
- priceTF.textColor = HexColorFromRGB(0x333333);
- priceTF.tintColor = ZYPinkColor;
- priceTF.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10.0f, 0.0f)];
- priceTF.leftViewMode = UITextFieldViewModeAlways;
- priceTF.rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10.0f, 0.0f)];
- priceTF.rightViewMode = UITextFieldViewModeAlways;
- priceTF.backgroundColor = [UIColor whiteColor];
- priceTF.keyboardType = UIKeyboardTypeNumberPad;
- priceTF.layer.cornerRadius = 17.0f;
- priceTF.clipsToBounds = YES;
- [tfBgV addSubview:priceTF];
- self.youpaippriceTF = priceTF;
-
-
- UIButton *confirmBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- UIImage *bgImage = [LCTools ColorImage:CGSizeMake(62.0f, 33.0f) FromColors:@[HexColorFromRGB(0xFF0084),HexColorFromRGB(0xFF3A00)] ByGradientType:GradientLeftToRight];
- [confirmBtn setBackgroundImage:bgImage forState:UIControlStateNormal];
- [confirmBtn setBackgroundImage:bgImage forState:UIControlStateHighlighted];
- confirmBtn.layer.cornerRadius = 16.5f;
- confirmBtn.clipsToBounds = YES;
- confirmBtn.titleLabel.font = LCFont14;
- [confirmBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
- [confirmBtn setTitle:@"确定" forState:UIControlStateNormal];
- [confirmBtn addTarget:self action:@selector(youpaifconfirmBtnClick) forControlEvents:UIControlEventTouchUpInside];
- [tfBgV addSubview:confirmBtn];
-
- [confirmBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.offset(-14.0f);
- make.centerY.equalTo(tfBgV.mas_centerY);
- make.size.mas_offset(CGSizeMake(62.0f, 33.0f));
- }];
-
- [priceTF mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.offset(7.0f);
- make.bottom.offset(-7.0f);
- make.left.offset(14.0f);
- make.right.equalTo(confirmBtn.mas_left).offset(-8.0f);
- }];
- }
- - (void)youpaifsetupView{
-
- [self.youpaiptopView removeFromSuperview];
- self.youpaiptopView = nil;
- UIView* topView = [[UIView alloc]initWithFrame:CGRectMake(14, NavBarHeight + 34, KScreenWidth-28,119.0f)];
- [self.view addSubview:topView];
-
- UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0.0f, topView.mj_w, 17)];
- label.text = @"视频通话价格";
- label.font = LCFont15;
- label.textColor = HexColorFromRGB(0x9F9DA5);
- [topView addSubview:label];
-
- YOUPAILCSkillView* skill = [[YOUPAILCSkillView alloc]initWithFrame:CGRectMake(0.0f,label.mj_h + 14.0f, topView.mj_w,88.0f) skillModel:self.youpaipcurrentModel];
- [skill.youpaippriceBtn addTarget:self action:@selector(setSkillPriceClick) forControlEvents:(UIControlEventTouchUpInside)];
- [skill.youpaipnobleSaleBtn addTarget:self action:@selector(nobleSaleBtnClick) forControlEvents:(UIControlEventTouchUpInside)];
-
- [topView addSubview:skill];
- self.youpaiptopView = topView;
-
- /// 音频View
- [self.youpaipaudioBgV removeFromSuperview];
- self.youpaipaudioBgV = nil;
- UIView *audioBgV = [[UIView alloc] init];
- audioBgV.backgroundColor = HexColorFromRGB(0x2A2935);
- audioBgV.layer.cornerRadius = 5.0f;
- audioBgV.clipsToBounds = YES;
- [self.view addSubview:audioBgV];
- self.youpaipaudioBgV = audioBgV;
- [audioBgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(14.0f);
- make.right.offset(-14.0f);
- make.top.equalTo(topView.mas_bottom).offset(10.0f);
- make.height.offset(49.0f);
- }];
-
- UILabel *audioDescL = [[UILabel alloc] init];
- // audioDescL.text = @"声音展示";
- audioDescL.font = LCFont14;
- audioDescL.textColor = [UIColor whiteColor];
- [audioBgV addSubview:audioDescL];
- [audioDescL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(12.0f);
- make.centerY.equalTo(audioBgV.mas_centerY);
- }];
-
-
- YOUPAILCBaseInfo *userinfo = [LCSaveModel getUserModel].youpaipuserinfo;
- //审核状态:0=未审核,1=审核通过,2=审核未通过,4=初始状态
- BOOL showArrow = NO;
- NSString *redText = @"";
- if (userinfo.youpaipvoice_status == 0) {
- redText = @"(审核中)";
- }else if (userinfo.youpaipvoice_status == 1){
-
- }else if (userinfo.youpaipvoice_status == 2){
- showArrow = YES;
- }else{
- showArrow = YES;
- }
- NSString *text = [NSString stringWithFormat:@"声音展示%@",redText];
- NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:text];
- [str addAttribute:NSForegroundColorAttributeName value:HexColorFromRGB(0xF4003F) range:[text rangeOfString:redText]];
- [str addAttribute:NSFontAttributeName value:LCFont12 range:[text rangeOfString:redText]];
- audioDescL.attributedText = str;
-
- if (showArrow) {
- UIImageView *audioArrowImgV = [[UIImageView alloc] init];
- audioArrowImgV.image = [UIImage imageNamed:@"vqu_images_D_profile_item_arrow"];
- [audioBgV addSubview:audioArrowImgV];
- [audioArrowImgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.offset(-12.0f);
- make.width.height.offset(16.0f);
- make.centerY.equalTo(audioBgV.mas_centerY);
- }];
- UITapGestureRecognizer * tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(addAudioEvent:)];
- [audioBgV addGestureRecognizer:tapGesture];
- }else{
- UIButton *removeAudioBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- [removeAudioBtn setImage:[UIImage imageNamed:@"vqu_images_big_cast_remove_audio"] forState:UIControlStateNormal];
- [removeAudioBtn addTarget:self action:@selector(removeAudioBtnClick) forControlEvents:UIControlEventTouchUpInside];
- [audioBgV addSubview:removeAudioBtn];
- [removeAudioBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.offset(0.0f);
- make.top.bottom.offset(0.0f);
- make.width.offset(37.0f);
- }];
-
- UIView *aBgV = [[UIView alloc] init];
- aBgV.layer.cornerRadius = 13.5f;
- aBgV.clipsToBounds = YES;
- aBgV.layer.borderWidth = 0.5f;
- aBgV.layer.borderColor = [UIColor whiteColor].CGColor;
- [audioBgV addSubview:aBgV];
- [aBgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.equalTo(removeAudioBtn.mas_left).offset(0.0f);
- make.centerY.equalTo(audioBgV.mas_centerY);
- make.size.mas_offset(CGSizeMake(73.0f, 27.0f));
- }];
- UITapGestureRecognizer * tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(youpaifplayAudioEvent:)];
- [aBgV addGestureRecognizer:tapGesture];
-
- UIButton *audioPlayBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- [audioPlayBtn setImage:[UIImage imageNamed:@"vqu_images_big_cast_audio_play"] forState:UIControlStateSelected];
- [audioPlayBtn setImage:[UIImage imageNamed:@"vqu_images_big_cast_audio_none-1"] forState:UIControlStateNormal];
- audioPlayBtn.userInteractionEnabled = NO;
- [aBgV addSubview:audioPlayBtn];
- self.youpaipaudioPlayBtn = audioPlayBtn;
- [audioPlayBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(5.0f);
- make.centerY.equalTo(aBgV.mas_centerY);
- make.size.mas_offset(CGSizeMake(19.0f, 19.0f));
- }];
-
- UILabel *timerL = [[UILabel alloc] init];
- timerL.font = LCFont(12);
- timerL.textColor = [UIColor whiteColor];
- timerL.text = [NSString stringWithFormat:@"%@\"",@(userinfo.youpaipvoice_time)];
- [aBgV addSubview:timerL];
- self.youpaiptimerL = timerL;
- [timerL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.equalTo(audioPlayBtn.mas_right).offset(5.0f);
- make.centerY.equalTo(aBgV);
- }];
-
- UIImageView *animationImgV = [[UIImageView alloc] init];
- animationImgV.image = [UIImage imageNamed:@"vqu_images_IM_im_left_3"];
-
- NSMutableArray * animationArray = [NSMutableArray array];
-
- for (NSInteger i = 0; i < 3; i ++) {
- [animationArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"vqu_images_IM_im_left_%@",@(i + 1)]]];
- }
- //设置动画数组
- [animationImgV setAnimationImages:animationArray];
- //设置动画播放次数
- [animationImgV setAnimationRepeatCount:INT32_MAX];
- //设置动画播放时间
- [animationImgV setAnimationDuration:3*0.35];
-
- [aBgV addSubview:animationImgV];
- self.youpaipanimationImgV = animationImgV;
- [animationImgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.equalTo(timerL.mas_right).offset(5.0f);
- make.centerY.equalTo(aBgV);
- make.size.mas_offset(CGSizeMake(19.0f, 19.0f));
- }];
- }
-
- // 是否隐藏通话次数View
- [self.youpaiphiddenCallCountBgV removeFromSuperview];
- self.youpaiphiddenCallCountBgV = nil;
- UIView *hiddenCallCountBgV = [[UIView alloc] init];
- hiddenCallCountBgV.backgroundColor = HexColorFromRGB(0x2A2935);
- hiddenCallCountBgV.layer.cornerRadius = 5.0f;
- hiddenCallCountBgV.clipsToBounds = YES;
- [self.view addSubview:hiddenCallCountBgV];
- self.youpaiphiddenCallCountBgV = hiddenCallCountBgV;
- [hiddenCallCountBgV mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(14.0f);
- make.right.offset(-14.0f);
- make.top.equalTo(audioBgV.mas_bottom).offset(10.0f);
- make.height.offset(49.0f);
- }];
-
- UILabel *hiddenCallCountDescL = [[UILabel alloc] init];
- hiddenCallCountDescL.text = @"是否隐藏通话次数";
- hiddenCallCountDescL.font = LCFont14;
- hiddenCallCountDescL.textColor = [UIColor whiteColor];
- [hiddenCallCountBgV addSubview:hiddenCallCountDescL];
- [hiddenCallCountDescL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.offset(12.0f);
- make.centerY.equalTo(hiddenCallCountBgV.mas_centerY);
- }];
-
- UIButton *hiddenCallCountSwitch = [UIButton buttonWithType:UIButtonTypeCustom];
- [hiddenCallCountSwitch setImage:[UIImage imageNamed:@"vqu_images_ic_profile_siwch_on"] forState:UIControlStateSelected];
- [hiddenCallCountSwitch setImage:[UIImage imageNamed:@"vqu_images_ic_profile_siwch_off"] forState:UIControlStateNormal];
- [hiddenCallCountSwitch addTarget:self action:@selector(hiddenCallCountSwitchBtnClick:) forControlEvents:UIControlEventTouchUpInside];
- [hiddenCallCountBgV addSubview:hiddenCallCountSwitch];
- [hiddenCallCountSwitch mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.offset(-12.0f);
- make.centerY.equalTo(hiddenCallCountBgV.mas_centerY);
- make.size.mas_offset(CGSizeMake(27.5f, 44.0f));
- }];
- if ([LCSaveData getOrderOpenStatu]) {
- hiddenCallCountSwitch.selected = YES;
- }else{
- hiddenCallCountSwitch.selected = NO;
- }
- }
- - (void)setSkillPriceClick{
- [self.youpaippriceTF becomeFirstResponder];
- }
- -(void)nobleSaleBtnClick//贵族优惠查看
- {
-
- [LCHttpHelper requestWithURLString:NobleDetail parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code==0) {//成功
- NSMutableArray* dataArray = [YOUPAIZYNobleDetailModel mj_objectArrayWithKeyValuesArray:[dict objectForKey:@"data"]];
-
- YOUPAIZYNobleSaleWindow *vc= [[YOUPAIZYNobleSaleWindow alloc]init];
- vc.vWidth = 313.0f;
- vc.vHeight = 95.0f + dataArray.count * 35 + 103.5f;
- vc.youpaipdataArray = dataArray;
- // vc.delegate = self;
- vc.isTouchDismiss = YES;
- [self TFPresentVC:vc completion:^{}];
- }
- } failure:^(NSError *error) {
-
- }];
-
-
-
-
- }
- - (void)youpaifconfirmBtnClick{
- [LCHttpHelper requestWithURLString:SetSkillPrice parameters:@{@"price":@([self.youpaippriceTF.text floatValue]),@"skill_id":@(self.youpaipcurrentModel.youpaipskill_id)} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code==0) {//成功
- [ZCHUDHelper showTitle:@"价格设置成功"];
- [self youpaifinitData];
- dispatch_async(dispatch_get_main_queue(), ^{
- [self.view endEditing:YES];
- self.youpaippriceTF.text = @"";
- });
- }
- } failure:^(NSError *error) {
- }];
- }
- - (void)removeAudioBtnClick{
- [LCHttpHelper requestWithURLString:VoiceDelete parameters:@{} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code==0) {//成功
- [self youpaifrefreshData];
- }
- } failure:^(NSError *error) {
- }];
- }
- - (void)addAudioEvent:(UITapGestureRecognizer *)gesture{
- YOUPAILZBigCastAudioSetVC *vc = [[YOUPAILZBigCastAudioSetVC alloc] init];
- [self.navigationController pushViewController:vc animated:YES];
- }
- - (void)youpaifplayAudioEvent:(UITapGestureRecognizer *)gesture{
- self.youpaipaudioPlayBtn.selected = !self.youpaipaudioPlayBtn.selected;
- if (self.youpaipaudioPlayBtn.selected) {
- [self startPlay];
- [self startTimer];
- }else{
- [self stopPlay];
- }
- }
- - (void)hiddenCallCountSwitchBtnClick:(UIButton *)sender{
- NSInteger status = 1;
- if (sender.selected != YES) {//将状态置为1 隐藏
- status = 1;
- }else{
- status = 0;
- }
- [LCHttpHelper requestWithURLString:BigCastSetOrderStatus parameters:@{@"status":@(status)} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
- NSDictionary* dict = (NSDictionary*)responseObject;
- NSInteger code = [[dict objectForKey:@"code"] integerValue];
- if (code==0) {
- if (status==1) {
- [LCSaveData saveOrderOpenStatu:YES];
- sender.selected = YES;
- }else{
- [LCSaveData saveOrderOpenStatu:NO];
- sender.selected = NO;
- }
- }
- } failure:^(NSError *error) {
- }];
- }
- - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
- [self.view endEditing:YES];
- }
- //键盘即将隐藏
- - (void)youpaifkeyboardWillHide:(NSNotification *)note{
- [UIView animateWithDuration:0.25f animations:^{
- self.youpaiptfBgV.mj_y = KScreenHeight;
- }];
- }
- //键盘即将弹出
- - (void)youpaifkeyboardWillShow:(NSNotification *)note{
- CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
- CGFloat keyboardH = keyboardF.size.height;
- [UIView animateWithDuration:0.25f animations:^{
- self.youpaiptfBgV.mj_y = KScreenHeight - keyboardH - self.youpaiptfBgV.mj_h;
- }];
-
- }
- /// 开始播放语音
- - (void)startPlay{
- NSURL *url = [LCTools getImageUrlWithAddress:[LCSaveModel getUserModel].youpaipuserinfo.youpaipvoice];
- self.youpaipaudioStream.url = url;
- [self.youpaipaudioStream play];
- [self.youpaipanimationImgV startAnimating];
- }
- /// 停止播放语音
- - (void)stopPlay{
- self.youpaipaudioPlayBtn.selected = NO;
- self.youpaiptimerL.text = [NSString stringWithFormat:@"%@\"",@([LCSaveModel getUserModel].youpaipuserinfo.youpaipvoice_time)];
- // 停止播放
- if ([self.youpaipaudioStream isPlaying]) {
- [self.youpaipaudioStream stop];
- }
- [self youpaifstopTimer];
- [self.youpaipanimationImgV stopAnimating];
- }
- - (FSAudioStream *)youpaipaudioStream{
- if (_youpaipaudioStream == nil) {
- _youpaipaudioStream = [[FSAudioStream alloc] init];
- WeakSelf;
- _youpaipaudioStream.onFailure = ^(FSAudioStreamError error,NSString *description){
- [weakSelf stopPlay];
- };
- _youpaipaudioStream.onCompletion = ^(){
- [weakSelf stopPlay];
- };
- [_youpaipaudioStream setVolume:0.7];//设置声音
- _youpaipaudioStream.strictContentTypeChecking = NO;
- _youpaipaudioStream.defaultContentType = @"audio/mpeg";
- }
- return _youpaipaudioStream;
- }
- // 开始计时
- - (void)startTimer{
- self.youpaiptimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction) userInfo:nil repeats:YES];
- [[NSRunLoop currentRunLoop] addTimer:self.youpaiptimer forMode:NSRunLoopCommonModes];
- }
- // 结束计时
- - (void)youpaifstopTimer{
- [self.youpaiptimer invalidate];
- self.youpaiptimer = nil;
- }
- - (void)timerAction{
- NSInteger timer = [LCSaveModel getUserModel].youpaipuserinfo.youpaipvoice_time - self.youpaipaudioStream.currentTimePlayed.playbackTimeInSeconds;
- self.youpaiptimerL.text = [NSString stringWithFormat:@"%@\"",@(timer)];
- }
- @end
|