I am using AVAudioRecorder to record audio,currently recording it for 10 secs,and audio was recorded sucessfully,saved it in local directory,now that audio for 10 secs takes memory of 1.8 MB,how can i reduce this audio file memory?.i am using below code to record the audio.
-(void)viewWillAppear:(BOOL)animated{
NSArray *dirPaths;
NSString *docsDir;
dirPaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"sound.caf"];
path_audio = soundFilePath;
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMin],AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0],AVSampleRateKey,nil];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]initWithURL:soundFileURL settings:recordSettings error:&error];
if( !audioRecorder ){
NSLog(@"recorder: %@ %d %@", [error domain], [error code], [[error userInfo] description]);
UIAlertView *alert =
[[UIAlertView alloc] initWithTitle: @"Warning" message: [error localizedDescription] delegate: nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
return;
}
if ( error )
{
NSLog( @"error: %@", [error localizedDescription] );
}
else {
[self recordAudio];
}
}
-(void) recordAudio
{
if (!audioRecorder.recording)
{
audioRecorder.delegate=self;
[audioRecorder recordForDuration:10];
}
}
any answer should be appreciated.
yes i have reduced it to 33kb by taking recordSettings perameters as,
NSDictionary *recordSettings =
[[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMedium],AVEncoderAudioQualityKey,
nil];
//For my Purpose..
/*
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section
{
NSInteger imageCount = [self.array_HotelImage count]/4;
return ([self.array_HotelImage count]%4==0)?imageCount:imageCount+1; }
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ImageGalleryCustomCell";
ImageGalleryCustomCell *objImageGalleryCustomCell = (ImageGalleryCustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(objImageGalleryCustomCell == nil)
{
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ImageGalleryCustomCell" owner:self options:nil];
for (id currentObject in topLevelObjects)
{
if ([currentObject isKindOfClass:[UITableViewCell class]])
{
objImageGalleryCustomCell = (ImageGalleryCustomCell *) currentObject;
break;
}
}
objImageGalleryCustomCell = [self hideAndShowControlWithData:objImageGalleryCustomCell andIndexpath:indexPath];
}
return objImageGalleryCustomCell;
}
- (ImageGalleryCustomCell*)hideAndShowControlWithData:(ImageGalleryCustomCell*)objImageGalleryCustomCell andIndexpath:(NSIndexPath*)indexPathValue
{
int imageCount = [self.array_HotelImage count];
if(indexPathValue.row==imageCount/4)
{
switch(imageCount%4)
{
case 1:
{
objImageGalleryCustomCell.buttonImgGalleryView1.hidden = objImageGalleryCustomCell.imgGalleryView1.hidden = NO;
objImageGalleryCustomCell.buttonImgGalleryView2.hidden = objImageGalleryCustomCell.buttonImgGalleryView4.hidden = objImageGalleryCustomCell.buttonImgGalleryView3.hidden = objImageGalleryCustomCell.imgGalleryView2.hidden= objImageGalleryCustomCell.imgGalleryView3.hidden = objImageGalleryCustomCell.imgGalleryView4.hidden = YES;
objImageGalleryCustomCell.buttonImgGalleryView1.tag = (indexPathValue.row*4+0);
[objImageGalleryCustomCell.imgGalleryView1 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+0)]] placeholderImage:placholderImage];
objImageGalleryCustomCell.buttonImgGalleryView1.tag = (indexPathValue.row*4+0);
}
break;
case 2:
{
objImageGalleryCustomCell.buttonImgGalleryView1.hidden = objImageGalleryCustomCell.buttonImgGalleryView2.hidden=objImageGalleryCustomCell.imgGalleryView1.hidden=objImageGalleryCustomCell.imgGalleryView2.hidden=NO;
objImageGalleryCustomCell.buttonImgGalleryView3.hidden = objImageGalleryCustomCell.buttonImgGalleryView4.hidden = objImageGalleryCustomCell.imgGalleryView3.hidden = objImageGalleryCustomCell.imgGalleryView4.hidden=YES;
objImageGalleryCustomCell.buttonImgGalleryView1.tag = (indexPathValue.row*4+0);
[objImageGalleryCustomCell.imgGalleryView1 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+0)]] placeholderImage:placholderImage ];
objImageGalleryCustomCell.buttonImgGalleryView2.tag = (indexPathValue.row*4+1);
[objImageGalleryCustomCell.imgGalleryView2 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+1)]] placeholderImage:placholderImage];
}
break;
case 3:
{
objImageGalleryCustomCell.buttonImgGalleryView1.hidden = objImageGalleryCustomCell.buttonImgGalleryView2.hidden= objImageGalleryCustomCell.imgGalleryView1.hidden=objImageGalleryCustomCell.imgGalleryView2.hidden=objImageGalleryCustomCell.buttonImgGalleryView3.hidden = objImageGalleryCustomCell.imgGalleryView3.hidden = NO;
objImageGalleryCustomCell.buttonImgGalleryView4.hidden =objImageGalleryCustomCell.imgGalleryView4.hidden = YES;
objImageGalleryCustomCell.buttonImgGalleryView1.tag = (indexPathValue.row*4+0);
[objImageGalleryCustomCell.imgGalleryView1 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+0)]] placeholderImage:placholderImage];
objImageGalleryCustomCell.buttonImgGalleryView2.tag = (indexPathValue.row*4+1);
[objImageGalleryCustomCell.imgGalleryView2 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+1)]] placeholderImage:placholderImage];
objImageGalleryCustomCell.buttonImgGalleryView3.tag = (indexPathValue.row*4+2);
[objImageGalleryCustomCell.imgGalleryView3 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+2)]] placeholderImage:placholderImage];
}
break;
}
}
else
{
objImageGalleryCustomCell.buttonImgGalleryView1.tag = (indexPathValue.row*4+0);
[objImageGalleryCustomCell.imgGalleryView1 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+0)]] placeholderImage:placholderImage];
objImageGalleryCustomCell.buttonImgGalleryView2.tag = (indexPathValue.row*4+1);
[objImageGalleryCustomCell.imgGalleryView2 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+1)]] placeholderImage:placholderImage];
objImageGalleryCustomCell.buttonImgGalleryView3.tag = (indexPathValue.row*4+2);
[objImageGalleryCustomCell.imgGalleryView3 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+2)]] placeholderImage:placholderImage];
objImageGalleryCustomCell.buttonImgGalleryView4.tag = (indexPathValue.row*4+3);
[objImageGalleryCustomCell.imgGalleryView4 setImageWithURL:[NSURL URLWithString:[self.array_HotelImage objectAtIndex:(indexPathValue.row*4+3)]] placeholderImage:placholderImage];
}
[objImageGalleryCustomCell.buttonImgGalleryView1 addTarget:self action:@selector(buttonImageClicked:) forControlEvents:UIControlEventTouchUpInside];
[objImageGalleryCustomCell.buttonImgGalleryView2 addTarget:self action:@selector(buttonImageClicked:) forControlEvents:UIControlEventTouchUpInside];
[objImageGalleryCustomCell.buttonImgGalleryView3 addTarget:self action:@selector(buttonImageClicked:) forControlEvents:UIControlEventTouchUpInside];
[objImageGalleryCustomCell.buttonImgGalleryView4 addTarget:self action:@selector(buttonImageClicked:) forControlEvents:UIControlEventTouchUpInside];
return objImageGalleryCustomCell;
}*/