-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathSettingViewController.m
More file actions
158 lines (128 loc) · 5.26 KB
/
SettingViewController.m
File metadata and controls
158 lines (128 loc) · 5.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
//
// SettingViewController.m
// FFmpegAudioRecorder
//
// Created by Liao KuoHsun on 2014/1/7.
// Copyright (c) 2014年 Liao KuoHsun. All rights reserved.
//
#import "SettingViewController.h"
#import "SetupEncodeFormatTableViewController.h"
#import "SetupEncodeMethodViewController.h"
@interface SettingViewController ()
@end
@implementation SettingViewController
@synthesize pLabel_SetMethod, pLabel_SetFormat;
@synthesize vEncodeFormatNumber, pEncodeFormat;
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)viewWillAppear:(BOOL)animated
{
BOOL bFind=FALSE;
pEncodeFormat = [[NSMutableArray alloc]initWithCapacity:eRecFmt_Max];
// The audio encode format should be choosed according the encode method
switch(self.pViewController.encodeMethod)
{
case eRecMethod_iOS_AudioRecorder:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_AAC]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_ALAC]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_IMA4]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_MULAW]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_ALAW]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_PCM]];
vEncodeFormatNumber = 6;
break;
case eRecMethod_iOS_AudioQueue:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_AAC]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_MULAW]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_ALAW]];
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_PCM]];
vEncodeFormatNumber = 6;
break;
case eRecMethod_FFmpeg:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_AAC]];
vEncodeFormatNumber = 1;
break;
case eRecMethod_iOS_AudioConverter:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_AAC]];
vEncodeFormatNumber = 1;
break;
case eRecMethod_iOS_RecordAndPlayByAQ:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_AAC]];
vEncodeFormatNumber = 1;
break;
case eRecMethod_iOS_RecordAndPlayByAU:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_PCM]];
vEncodeFormatNumber = 1;
break;
case eRecMethod_iOS_RecordAndPlayByAG:
[pEncodeFormat addObject:[NSNumber numberWithInteger:eRecFmt_PCM]];
vEncodeFormatNumber = 1;
break;
default:
NSLog(@"unexpected case");
break;
}
for(int i=0;i<vEncodeFormatNumber;i++)
{
NSInteger vFormat = [[pEncodeFormat objectAtIndex:i] intValue];
if(vFormat==self.pViewController.encodeFileFormat)
{
bFind = TRUE;
break;
}
}
if(bFind==TRUE)
{
// keep the original file format
// self.pViewController.encodeFileFormat;
}
else
{
// change file format
NSInteger vFormat = [[pEncodeFormat objectAtIndex:0] intValue];
self.pViewController.encodeFileFormat = vFormat;
}
[pLabel_SetMethod setText:[[NSString alloc]initWithUTF8String:getAudioMethodString(self.pViewController.encodeMethod)]];
[pLabel_SetFormat setText:[[NSString alloc]initWithUTF8String:getAudioFormatString(self.pViewController.encodeFileFormat)]];
}
#pragma mark - Navigation
// In a story board-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier] isEqualToString:@"SetEncodeMethod"])
{
NSLog(@"User want to change setting:encode method");
SettingViewController *dstViewController = [segue destinationViewController];
dstViewController.pViewController = self.pViewController;
}
if([[segue identifier] isEqualToString:@"SetEncodeFormat"])
{
NSLog(@"User want to change setting:encode format");
//SettingViewController *dstViewController = [segue destinationViewController];
SetupEncodeFormatTableViewController *dstViewController = [segue destinationViewController];
dstViewController.pViewController = self.pViewController;
dstViewController.pSettingViewController = self;
}
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
@end