//
|
// MusicSetPage.m
|
// pregnancy_guard
|
//
|
// Created by WindShan on 2017/7/12.
|
// Copyright © 2017年 WindShan. All rights reserved.
|
//
|
|
#import "MusicSetPage.h"
|
#import "CSAudioManager.h"
|
#import "NetworkSingleton.h"
|
#import "MusicPlayCell.h"
|
#import "MusicModel.h"
|
#import "SysTipsView.h"
|
#import "QWAlertView.h"
|
#import "SysSoundSetPage.h"
|
#import "BaseNaviController.h"
|
|
@interface MusicSetPage ()<UITableViewDelegate,UITableViewDataSource,musicPlayDelegate,SelectedActionDelegate>
|
{
|
|
}
|
@property (nonatomic,strong) NSData *mp3Data;
|
@property (nonatomic,strong) CSAudioManager *csManager;
|
@property(nonatomic,strong) UITableView * tableView;
|
@property (nonatomic, strong) NSMutableArray *modelArray;
|
@property (nonatomic, strong) SysTipsView * sysTipsView; // 广告控件
|
@end
|
|
@implementation MusicSetPage
|
|
- (UITableView *)tableView
|
{
|
if (!_tableView)
|
{
|
_tableView = [[UITableView alloc] init];
|
|
|
_tableView.delegate = self;
|
_tableView.dataSource = self;
|
//_tableView.separatorColor = [UIColor clearColor];
|
|
[self.view addSubview:_tableView];
|
|
[_tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
make.edges.mas_equalTo(UIEdgeInsetsMake(0 , 0, 0, 0));
|
}];
|
|
_tableView.tableFooterView = [UIView new];
|
}
|
return _tableView;
|
}
|
|
- (SysTipsView *)sysTipsView
|
{
|
if(!_sysTipsView)
|
{
|
_sysTipsView = [[SysTipsView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) tipsTitle:@"温馨提示" tipsContext:@"是否重置为默认铃声"];
|
self.sysTipsView.delegate = self;
|
}
|
else
|
{
|
[_sysTipsView setHidden:FALSE];
|
}
|
|
return _sysTipsView;
|
}
|
|
- (void)didSelectedAction:(NSInteger)type
|
{
|
[self.sysTipsView setHidden:TRUE];
|
[[QWAlertView sharedMask] dismiss];
|
|
// 确定重置
|
if (type == 1)
|
{
|
[self.csManager stopAllMusic];
|
[self.modelArray removeAllObjects];
|
|
MusicModel * model1 = [[MusicModel alloc] init];
|
model1.username = [NSString stringWithFormat:@"%@",@"轻微铃声"];
|
model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"];
|
model1.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model1.musicStatus = 0;
|
model1.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music.mp3"];
|
[self.modelArray addObject:model1];
|
|
MusicModel * model2 = [[MusicModel alloc] init];
|
model2.username = [NSString stringWithFormat:@"%@",@"中度铃声"];
|
model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"];
|
model2.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model2.musicStatus = 0;
|
model2.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music1.mp3"];
|
[self.modelArray addObject:model2];
|
|
MusicModel * model3 = [[MusicModel alloc] init];
|
model3.username = [NSString stringWithFormat:@"%@",@"严重铃声"];
|
model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"];
|
model3.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model3.musicStatus = 0;
|
model3.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music2.mp3"];
|
|
[self.modelArray addObject:model3];
|
|
[self.tableView reloadData];
|
}
|
}
|
|
- (void)viewDidLoad
|
{
|
[super viewDidLoad];
|
// Do any additional setup after loading the view.
|
self.navigationItem.title = @"铃声设置";
|
[self setNavigationLeft:@"返回" sel:@selector(backAction)];
|
[self setNavigationRight:@"重置" sel:@selector(resetAction)];
|
|
|
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];
|
// @property(nonatomic, strong) NSString * _id;
|
// @property(nonatomic, strong) NSString * user_id;
|
// @property(nonatomic, strong) NSString * username;
|
// @property(nonatomic, strong) NSString * musicName;
|
// @property(nonatomic, strong) NSString * musicUrl; // 音乐地址
|
// @property(nonatomic, strong) NSString * xuhaoIndex;
|
//
|
// @property(nonatomic, assign) int cmd; // 1 播放 2 设置默认
|
// @property(nonatomic, assign) int playStatus; // 默认0 播放状态命令 1 播放操作 2 暂停操作
|
// @property(nonatomic, assign) int musicStatus; // 默认0 设置状态命令 1 默认设置 2 默认取消
|
// @property(nonatomic, assign) NSInteger indexRow; // 当前索引 http://yfsapi.7drlb.com/video/music.mp3
|
|
// [UserDefault stringForKey:@"username"]
|
// 0 默认 1 自定义
|
NSInteger musicStatus1 = [UserDefault integerForKey:@"musicStatus1"];
|
NSInteger musicStatus2 = [UserDefault integerForKey:@"musicStatus2"];
|
NSInteger musicStatus3 = [UserDefault integerForKey:@"musicStatus3"];
|
|
if( musicStatus1 == 0 )
|
{
|
MusicModel * model1 = [[MusicModel alloc] init];
|
model1.username = [NSString stringWithFormat:@"%@",@"轻微铃声"];
|
model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"];
|
model1.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model1.musicStatus = 0;
|
model1.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music.mp3"];
|
[self.modelArray addObject:model1];
|
}
|
else
|
{
|
MusicModel * model1 = [[MusicModel alloc] init];
|
model1.username = [NSString stringWithFormat:@"%@",@"轻微铃声"];
|
model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"];
|
model1.musicName = [UserDefault stringForKey:@"ID0001Name"];
|
model1.musicStatus = 1;
|
model1.musicUrl = [UserDefault stringForKey:@"ID0001PATH"];
|
[self.modelArray addObject:model1];
|
}
|
|
|
if( musicStatus2 == 0 )
|
{
|
MusicModel * model2 = [[MusicModel alloc] init];
|
model2.username = [NSString stringWithFormat:@"%@",@"中度铃声"];
|
model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"];
|
model2.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model2.musicStatus = 0;
|
model2.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music1.mp3"];
|
[self.modelArray addObject:model2];
|
}
|
else
|
{
|
MusicModel * model2 = [[MusicModel alloc] init];
|
model2.username = [NSString stringWithFormat:@"%@",@"中度铃声"];
|
model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"];
|
model2.musicName = [UserDefault stringForKey:@"ID0002Name"];
|
model2.musicStatus = 1;
|
model2.musicUrl = [UserDefault stringForKey:@"ID0002PATH"];
|
[self.modelArray addObject:model2];
|
}
|
|
if( musicStatus3 == 0 )
|
{
|
MusicModel * model3 = [[MusicModel alloc] init];
|
model3.username = [NSString stringWithFormat:@"%@",@"严重铃声"];
|
model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"];
|
model3.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model3.musicStatus = 0;
|
model3.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music2.mp3"];
|
|
[self.modelArray addObject:model3];
|
}
|
else
|
{
|
MusicModel * model3 = [[MusicModel alloc] init];
|
model3.username = [NSString stringWithFormat:@"%@",@"严重铃声"];
|
model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"];
|
model3.musicName = [UserDefault stringForKey:@"ID0003Name"];
|
model3.musicStatus = 1;
|
model3.musicUrl = [UserDefault stringForKey:@"ID0003PATH"];
|
|
[self.modelArray addObject:model3];
|
}
|
|
self.tableView.hidden = NO;
|
[self.tableView reloadData];
|
}
|
|
- (void)viewWillAppear:(BOOL)animated
|
{
|
[super viewWillAppear:animated];
|
|
[self.modelArray removeAllObjects];
|
// 0 默认 1 自定义
|
NSInteger musicStatus1 = [UserDefault integerForKey:@"musicStatus1"];
|
NSInteger musicStatus2 = [UserDefault integerForKey:@"musicStatus2"];
|
NSInteger musicStatus3 = [UserDefault integerForKey:@"musicStatus3"];
|
|
if( musicStatus1 == 0 )
|
{
|
MusicModel * model1 = [[MusicModel alloc] init];
|
model1.username = [NSString stringWithFormat:@"%@",@"轻微铃声"];
|
model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"];
|
model1.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model1.musicStatus = 0;
|
model1.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music.mp3"];
|
[self.modelArray addObject:model1];
|
}
|
else
|
{
|
MusicModel * model1 = [[MusicModel alloc] init];
|
model1.username = [NSString stringWithFormat:@"%@",@"轻微铃声"];
|
model1.user_id = [NSString stringWithFormat:@"%@",@"ID0001"];
|
model1.musicName = [UserDefault stringForKey:@"ID0001Name"];
|
model1.musicStatus = 1;
|
model1.musicUrl = [UserDefault stringForKey:@"ID0001PATH"];
|
[self.modelArray addObject:model1];
|
}
|
|
|
if( musicStatus2 == 0 )
|
{
|
MusicModel * model2 = [[MusicModel alloc] init];
|
model2.username = [NSString stringWithFormat:@"%@",@"中度铃声"];
|
model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"];
|
model2.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model2.musicStatus = 0;
|
model2.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music1.mp3"];
|
[self.modelArray addObject:model2];
|
}
|
else
|
{
|
MusicModel * model2 = [[MusicModel alloc] init];
|
model2.username = [NSString stringWithFormat:@"%@",@"中度铃声"];
|
model2.user_id = [NSString stringWithFormat:@"%@",@"ID0002"];
|
model2.musicName = [UserDefault stringForKey:@"ID0002Name"];
|
model2.musicStatus = 1;
|
model2.musicUrl = [UserDefault stringForKey:@"ID0002PATH"];
|
[self.modelArray addObject:model2];
|
}
|
|
if( musicStatus3 == 0 )
|
{
|
MusicModel * model3 = [[MusicModel alloc] init];
|
model3.username = [NSString stringWithFormat:@"%@",@"严重铃声"];
|
model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"];
|
model3.musicName = [NSString stringWithFormat:@"%@",@"默认"];
|
model3.musicStatus = 0;
|
model3.musicUrl = [NSString stringWithFormat:@"%@",@"http://yfsapi.7drlb.com/video/music2.mp3"];
|
|
[self.modelArray addObject:model3];
|
}
|
else
|
{
|
MusicModel * model3 = [[MusicModel alloc] init];
|
model3.username = [NSString stringWithFormat:@"%@",@"严重铃声"];
|
model3.user_id = [NSString stringWithFormat:@"%@",@"ID0003"];
|
model3.musicName = [UserDefault stringForKey:@"ID0003Name"];
|
model3.musicStatus = 1;
|
model3.musicUrl = [UserDefault stringForKey:@"ID0003PATH"];
|
|
[self.modelArray addObject:model3];
|
}
|
|
self.tableView.hidden = NO;
|
[self.tableView reloadData];
|
}
|
|
-(void)resetAction
|
{
|
[[QWAlertView sharedMask] show:self.sysTipsView withType:(QWAlertViewStyle)QWAlertViewStyleAlert];
|
}
|
|
-(void)backAction
|
{
|
[self.csManager stopAllMusic];
|
[self dismissViewControllerAnimated:YES completion:nil];
|
//[self.navigationController popViewControllerAnimated:YES];
|
}
|
|
- (void)didReceiveMemoryWarning
|
{
|
[super didReceiveMemoryWarning];
|
// Dispose of any resources that can be recreated.
|
}
|
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
|
{
|
return 1;
|
}
|
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
|
{
|
return self.modelArray.count;
|
}
|
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
|
{
|
return 50.0;
|
}
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
{
|
static NSString *CellIdentifier = @"MusicSetCell";
|
MusicPlayCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
|
if (cell == nil)
|
{
|
cell = [[MusicPlayCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
|
}
|
|
cell.delegate = self;
|
|
MusicModel * model = [self.modelArray objectAtIndex:indexPath.row];
|
NSInteger selIndex = [[UserDefault stringForKey:@"video"] integerValue];
|
if( selIndex == indexPath.row )
|
{
|
model.setStatus = 1;
|
}
|
|
model.indexRow = indexPath.row;
|
model._id = [NSString stringWithFormat:@"judqiowu%ld",indexPath.row];
|
model.xuhaoIndex = [NSString stringWithFormat:@"%02ld",indexPath.row+1];
|
[cell setItemView:model];
|
|
return cell;
|
}
|
|
|
|
|
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
|
{
|
NSInteger index = [indexPath row];
|
|
// 跳转酒店备用界面
|
// 跳转选择酒店
|
//HotelSelPage* page = [[HotelSelPage alloc] initIsFirstPage:NO];
|
//page.bSelRoom = 2;
|
// 跳转界面
|
//BaseNaviController *baseNav = [[BaseNaviController alloc] initWithRootViewController:page];
|
//[self presentViewController:baseNav animated:YES completion:nil];
|
//[self showActionForPhoto];
|
}
|
|
- (void)musicPlaySection:(MusicModel*)model
|
{
|
if ( model.cmd == 1 )
|
{
|
if( model.playStatus == 1 )
|
{
|
// 已存在销毁音频文件
|
// //if( self.mp3Data != nil )
|
// {
|
// //停止音频
|
// [self.csManager stopMusicWithPlayID:model.user_id];
|
// [self.csManager disposeSoundWithPlayID:model.user_id];
|
// }
|
|
// 其他播放恢复默认值
|
for( NSUInteger i = 0; i < self.modelArray.count;i++)
|
{
|
MusicModel * tempModel = [self.modelArray objectAtIndex:i];
|
if( [tempModel._id isEqualToString:model._id] )
|
continue;
|
//停止音频
|
if(tempModel.playStatus == 1)
|
{
|
[self.csManager stopMusicWithPlayID:tempModel.user_id];
|
[self.csManager disposeSoundWithPlayID:tempModel.user_id];
|
}
|
|
tempModel.playStatus = 0;
|
}
|
|
if( model.musicStatus == 0 )
|
{
|
[self.csManager playingMusicWithURL:[NSURL URLWithString:model.musicUrl] playID:model.user_id];
|
}
|
else
|
{
|
|
// NSString *mp3Path = [[NSBundle mainBundle] pathForResource:model.musicUrl ofType:nil];
|
// NSLog(@"mp3Path : %@",mp3Path);
|
self.mp3Data = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:model.musicUrl]];
|
//播放音频
|
[self.csManager playingMusicWithData:self.mp3Data playID:model.user_id];
|
}
|
}
|
else if( model.playStatus == 2 )
|
{
|
//停止音频
|
[self.csManager stopMusicWithPlayID:model.user_id];
|
}
|
}
|
else if( model.cmd == 2 )
|
{
|
[self.csManager stopAllMusic];
|
// 打开本地音频文件
|
SysSoundSetPage* Page = [[SysSoundSetPage alloc] initIsFirstPage:NO];
|
Page.soundIndex = [model.xuhaoIndex integerValue];
|
BaseNaviController *baseNav = [[BaseNaviController alloc] initWithRootViewController:Page];
|
[self presentViewController:baseNav animated:YES completion:nil];
|
}
|
}
|
|
|
-(void)update_video:(MusicModel *)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
|
|
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
// Get the new view controller using [segue destinationViewController].
|
// Pass the selected object to the new view controller.
|
}
|
*/
|
|
@end
|