From 89d748b77b478905732e60f0b4c5807c274b6565 Mon Sep 17 00:00:00 2001 From: 单军华 <WindShan@danjunhuas-MacBook-Pro.local> Date: Thu, 29 Mar 2018 16:33:57 +0800 Subject: [PATCH] 功能优化。广告UI 设计 --- pregnancy_guard/BaseProject/Controller/Mine/MusicSetPage.m | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 164 insertions(+), 1 deletions(-) diff --git a/pregnancy_guard/BaseProject/Controller/Mine/MusicSetPage.m b/pregnancy_guard/BaseProject/Controller/Mine/MusicSetPage.m index a8273f7..fb7f546 100644 --- a/pregnancy_guard/BaseProject/Controller/Mine/MusicSetPage.m +++ b/pregnancy_guard/BaseProject/Controller/Mine/MusicSetPage.m @@ -9,9 +9,18 @@ #import "MusicSetPage.h" #import "MusicPlayCell.h" #import "HotelAccount.h" +#import "CSAudioManager.h" +#import "NetworkSingleton.h" + +#define kPlayID @"ID001" +#define kPlayID2 @"ID002" @interface MusicSetPage ()<UITableViewDelegate,UITableViewDataSource,musicPlayDelegate> - +{ + +} +@property (nonatomic,strong) NSData *mp3Data; +@property (nonatomic,strong) CSAudioManager *csManager; @property(nonatomic,strong) UITableView * tableView; @property (nonatomic, strong) NSMutableArray *modelArray; @end @@ -44,6 +53,48 @@ { [super viewDidLoad]; // Do any additional setup after loading the view. + self.navigationItem.title = @"������������"; + [self setNavigationLeft:@"������" sel:@selector(backAction)]; + + self.csManager = [CSAudioManager defaultManager]; + self.mp3Data = nil; + + MPWeakSelf(self); + [self.csManager setBlockPlayerStartPlay:^{ + NSLog(@"���������-������������������"); + [weakself.tableView reloadData]; + }]; + + [self.csManager setBlockPlayerStopPlay:^{ + NSLog(@"���������-������������������"); + [weakself.tableView reloadData]; + }]; + + [self.csManager setBlockPlayerDidFinishPlaying:^{ + NSLog(@"���������-���������������������"); + //[weakself.tableView reloadData]; + }]; + + + //������������������������������������������CSAudioManager.h ��������� + //[self.csManager playSoundWithSoundName:@"sms-received1" PlayID:kPlayID2]; + + + self.modelArray = [[NSMutableArray alloc] init]; + for( int i =0; i<10;i++) + { + HotelAccount * model = [[HotelAccount alloc] init]; + [self.modelArray addObject:model]; + } + + self.tableView.hidden = NO; + [self.tableView reloadData]; +} + +-(void)backAction +{ + [self dismissViewControllerAnimated:YES completion:nil]; + //[self.navigationController popViewControllerAnimated:YES]; } - (void)didReceiveMemoryWarning @@ -76,7 +127,20 @@ cell = [[MusicPlayCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; } + cell.delegate = self; + HotelAccount * model = [self.modelArray objectAtIndex:indexPath.row]; + + NSInteger selIndex = [[UserDefault stringForKey:@"video"] integerValue]; + if( selIndex == indexPath.row ) + { + model.setStatus = 1; + } + + model.indexRow = indexPath.row; + model.musicName = @"music.mp3"; + model._id = [NSString stringWithFormat:@"judqiowu%ld",indexPath.row]; + model.xuhaoIndex = [NSString stringWithFormat:@"%02ld",indexPath.row+1]; [cell setItemView:model]; return cell; @@ -101,9 +165,108 @@ - (void)musicPlaySection:(HotelAccount*)model { + if ( model.cmd == 1 ) + { + if( model.playStatus == 1 ) + { + // ��������������������������� + if( self.mp3Data != nil ) + { + //������������ + [self.csManager stopMusicWithPlayID:kPlayID]; + [self.csManager disposeSoundWithPlayID:kPlayID]; + } + + // ��������������������������� + for( NSUInteger i = 0; i < self.modelArray.count;i++) + { + HotelAccount * tempModel = [self.modelArray objectAtIndex:i]; + if( [tempModel._id isEqualToString:model._id] ) + continue; + + tempModel.playStatus = 0; + } + + NSString *mp3Path = [[NSBundle mainBundle] pathForResource:model.musicName ofType:nil]; + NSLog(@"mp3Path : %@",mp3Path); + self.mp3Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:mp3Path]]; + //������������ + [self.csManager playingMusicWithData:self.mp3Data playID:kPlayID]; + } + else if( model.playStatus == 2 ) + { + //������������ + [self.csManager stopMusicWithPlayID:kPlayID]; + } + } + else if( model.cmd == 2 ) + { + if( model.setStatus == 1 ) + { + //������������ + // ��������������������� + for( NSUInteger i = 0; i < self.modelArray.count;i++) + { + HotelAccount * tempModel = [self.modelArray objectAtIndex:i]; + if( [tempModel._id isEqualToString:model._id] ) + continue; + + tempModel.setStatus = 0; + } + + // ������������������ + [self update_video:model]; + + } + else if( model.setStatus == 2 ) + { + //������������ + [self update_video:model]; + } + } } + +-(void)update_video:(HotelAccount *)model +{ + //[UserDefault stringForKey:@"user_id"] + NSString *path = [[NSString alloc] initWithFormat:UPDATE_USERINFO]; + + NSMutableDictionary *param = [[NSMutableDictionary alloc] init]; + + //['refresh_frequency', 'video', 'is_open_upload'] + [param setValue:[UserDefault stringForKey:@"user_id"] forKey:@"user_id"]; + [param setValue:@"video" forKey:@"field"]; // 1 ������ 0 ������ + [param setValue:[NSString stringWithFormat:@"%ld",model.indexRow] forKey:@"value"]; + + MPWeakSelf(self); + [NetworkSingleton networkingGetMethod:param urlName:path success:^(id responseBody) + { + MPStrongSelf(self); + BaseResModel * resModel = [Global toBaseModel:responseBody]; + + if(resModel.code == 0) + { + [UserDefault setObject:[NSString stringWithFormat:@"%ld",model.indexRow] forKey:@"video"]; + [UserDefault synchronize]; + + [self.tableView reloadData]; + [Global alertMessageEx:resModel.desc title:@"������������" okTtitle:nil cancelTitle:@"OK" delegate:self]; + } + else + { + [Global alertMessageEx:resModel.desc title:@"������������" okTtitle:nil cancelTitle:@"OK" delegate:self]; + } + } + failure:^(NSString *error) + { + + [Global alertMessageEx:error title:@"������������" okTtitle:nil cancelTitle:@"OK" delegate:self]; + }]; +} + + /* #pragma mark - Navigation -- Gitblit v1.8.0