Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to reduce audio file size in IOS
    text
    copied!<p>I am doing an application which get songs from mediapicker and saving it to my application.i want to reduce the size of file,but i got a sample named "AACConverter",i test the application but it is not reducing the file size.could any one help me in solving this problem.</p> <pre><code>- (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), &amp;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]; } #pragma mark - Audio converter delegate -(void)AACAudioConverter:(TPAACAudioConverter *)converter didMakeProgress:(CGFloat)progress { self.progressView.progress = progress; } -(void)AACAudioConverterDidFinishConversion:(TPAACAudioConverter *)converter { self.progressView.hidden = YES; [self.spinner stopAnimating]; self.convertButton.enabled = YES; self.playConvertedButton.enabled = YES; self.emailConvertedButton.enabled = YES; audioConverter = nil; } -(void)AACAudioConverter:(TPAACAudioConverter *)converter didFailWithError:(NSError *)error { [[[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Converting audio", @"") message:[NSString stringWithFormat:NSLocalizedString(@"Couldn't convert audio: %@", @""), [error localizedDescription]] delegate:nil cancelButtonTitle:nil otherButtonTitles:NSLocalizedString(@"OK", @""), nil] autorelease] show]; self.convertButton.enabled = YES; audioConverter = nil; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload