2015-02-17 1 views
0

Новичок iOS coder здесь, извинения, если ответ действительно прост.Как хранить аудиозапись iOS на Parse?

Так что я создал мою аудиозапись в viewDidLoad

// Set the audio file 
NSArray *pathComponents = [NSArray arrayWithObjects: 
          [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject], 
          @"MyAudioMemo.m4a", 
          nil]; 
NSURL *outputFileURL = [NSURL fileURLWithPathComponents:pathComponents]; 

// Setup audio session 
AVAudioSession *session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 

// Define the recorder setting 
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init]; 

[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey]; 
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey]; 
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey]; 

// Initiate and prepare the recorder 
recorder = [[AVAudioRecorder alloc] initWithURL:outputFileURL settings:recordSetting error:NULL]; 
recorder.delegate = self; 
recorder.meteringEnabled = YES; 
[recorder prepareToRecord]; 

У меня есть кнопка бара, который записывает новые звуковые файлы:

// Stop the audio player before recording 
if (player.playing) { 
    [player stop]; 
} 

if (!recorder.recording) { 
    AVAudioSession *session = [AVAudioSession sharedInstance]; 
    [session setActive:YES error:nil]; 

    // Start recording 
    [recorder record]; 

} else { 

    // Pause recording 
    [recorder pause]; 
} 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Stop" style:UIBarButtonItemStylePlain target:self 
                     action:@selector(stopTapped)]; 

Тогда старт становится кнопке остановки

[recorder stop]; 

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
[audioSession setActive:NO error:nil]; 
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New" style:UIBarButtonItemStylePlain target:self 
                     action:@selector(actionNew)]; 

Как добавить это как PFFile и сохранить в словаре в Parse? Я прочитал много документации по Parse, но до сих пор не понимаю ее. Любая помощь очень ценится.

ответ

0

Похоже, что самым простым решением является загрузка файла с телефона, когда пользователь закончил запись, вместо того, чтобы пытаться сохранить запись непосредственно на объект NSData. Если вы хотите посмотреть прямо на объект NSData, ознакомьтесь с apple docs и этим stackoverflow question.

Сначала вы хотите получить экземпляр NSData после того, как пользователь закончил запись:

NSData *audioData = [[NSData alloc] initWithContentsOfFile:filePath]; 

Сделать новый PFFile:

PFFile *file = [PFFile fileWithName:@"resume.txt" data:data]; 

А затем сохранить его с нужным методом экономии.

Смежные вопросы