2015-02-23 3 views
0

Я использовал следующий код для записи звука. Он отлично работает для .caf.Как записать аудио в объективе c для iphone-приложения в формате .amr?

dirPaths = NSSearchPathForDirectoriesInDomains(
               NSDocumentDirectory, NSUserDomainMask, YES); 
docsDir = [dirPaths objectAtIndex:0]; 
NSString *soundFilePath = [docsDir 
          stringByAppendingPathComponent:@"sound.caf"]; 

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]; 

Но для .amr, если я изменить расширение на .amr согласно ниже него не работает для меня, чтобы записывать звук.

NSString *soundFilePath = [docsDir 
         stringByAppendingPathComponent:@"sound.amr"]; 

Может ли любой орган вести меня как записывать и сохранять аудио в формате .amr?

+0

http://stackoverflow.com/questions/276644/how-can-i-record-amr-audio-format-on -the-iphone –

ответ

1

попытка ниже Кодекса, может быть полезным для вас ..

AppDelegate *del = (AppDelegate*)[[UIApplication sharedApplication]delegate]; 
//set path & name for Recording Audio 
       NSString *dataPath=[del.path_Folder_Document copy]; 
       NSString *filePath = [NSString stringWithFormat:@"%@/Images_Audio/%@.3gp", dataPath,[ARR_Img_File_Name_Moment objectAtIndex:pos]]; 
       NSLog(@"Audio File Path =%@",filePath); 

       NSURL *tmpFileUrl = [NSURL fileURLWithPath:filePath]; 
//set Record Setting 
       NSDictionary *recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: 
               [NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey, 
               [NSNumber numberWithFloat:8000.0], AVSampleRateKey, 
               [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, 
               nil]; 

       NSError *error = nil; 
//Prepare Recorder to Start Recording Audio 
       recorder = [[AVAudioRecorder alloc] initWithURL:tmpFileUrl settings:recordSettings error:&error]; 
       recorder.delegate = self; 
       [recorder prepareToRecord]; 

       AVAudioSession *session = [AVAudioSession sharedInstance]; 
       [session setCategory:AVAudioSessionCategoryRecord error:nil]; 
       [session setActive:YES error:nil]; 
//Start Recording Audio .. 

       if ([[NSFileManager defaultManager] isWritableFileAtPath:filePath]) { 
        NSLog(@"Writable Pathforimage_Audio 1st>> %@", filePath); 

       }else 
       { 
        NSLog(@"Not Writable"); 
       } 

       [recorder record]; 

       NSLog(@"its recording audio..."); 
+0

в этом коде, я использовал «.3gp» вместо «.amr». – Mehul

+0

Не работает @mehul –

+0

Я редактировал свой код. этот код работает Отлично, я буду записывать аудио в формате .3GP .. – Mehul