I am making an application that receives songs from mediapicker and saves it in my application. I want to reduce the file size, but I have a sample called "AACConverter", I am testing the application, but it does not reduce the file size.could someone help me in solving this problem.
- (IBAction)convert:(id)sender { if ( ![TPAACAudioConverter AACConverterAvailable] ) { [[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Converting audio", @"") message:NSLocalizedString(@"Couldn't convert audio: Not supported on this device", @"") delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK", @""), nil] autorelease] show]; return; } // Initialise audio session, and register an interruption listener, important for AAC conversion if ( !checkResult(AudioSessionInitialize(NULL, NULL, interruptionListener, self), "initialise audio session") ) { [[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Converting audio", @"") message:NSLocalizedString(@"Couldn't initialise audio session!", @"") delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK", @""), nil] autorelease] show]; return; } // Set up an audio session compatible with AAC conversion. Note that AAC conversion is incompatible with any session that provides mixing with other device audio. UInt32 audioCategory = kAudioSessionCategory_MediaPlayback; if ( !checkResult(AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(audioCategory), &audioCategory), "setup session category") ) { [[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Converting audio", @"") message:NSLocalizedString(@"Couldn't setup audio category!", @"") delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK", @""), nil] autorelease] show]; return; } NSArray *documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); audioConverter = [[[TPAACAudioConverter alloc] initWithDelegate:self source:[[NSBundle mainBundle] pathForResource:@"audio" ofType:@"mp3"] destination:[[documentsFolders objectAtIndex:0] stringByAppendingPathComponent:@"audio.m4a"]] autorelease]; NSLog(@"destinatiion path is %@",[[documentsFolders objectAtIndex:0]stringByAppendingFormat:@"audio.m4a"]); ((UIButton*)sender).enabled = NO; [self.spinner startAnimating]; self.progressView.progress = 0.0; self.progressView.hidden = NO; [audioConverter start]; } - (IBAction)playConverted:(id)sender { if ( audioPlayer ) { [audioPlayer stop]; [audioPlayer release]; audioPlayer = nil; [(UIButton*)sender setTitle:@"Play converted" forState:UIControlStateNormal]; } else { NSArray *documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [[documentsFolders objectAtIndex:0] stringByAppendingPathComponent:@"audio.m4a"]; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; [audioPlayer play]; [(UIButton*)sender setTitle:@"Stop" forState:UIControlStateNormal]; } } - (IBAction)emailConverted:(id)sender { NSArray *documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *path = [[documentsFolders objectAtIndex:0] stringByAppendingPathComponent:@"audio.m4a"]; MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init]; mailController.mailComposeDelegate = self; [mailController setSubject:NSLocalizedString(@"Recording", @"")]; [mailController addAttachmentData:[NSData dataWithContentsOfMappedFile:path] mimeType:@"audio/mp4a-latm" fileName:[path lastPathComponent]]; [self presentModalViewController:mailController animated:YES]; }
source share