AVAudioRecorder录制的m4a不会播放

时间:2016-02-03 12:13:49

标签: ios iphone ios9

我有录制应用程序,它适用于m4a文件。现在只有当我在不停止AVAudioRecorder的情况下关闭应用程序时才会出现问题。

这是我的记录功能代码:

- (IBAction)recordTapped:(id)sender {
        // 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:AVAudioSessionCategoryRecord 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:nil];
        recorder.delegate = self;
        recorder.meteringEnabled = YES;
        [recorder prepareToRecord];

        [session setActive:YES error:nil];

        // Start recording
        [recorder record];
}

这是我的停止记录功能:

- (IBAction)stopTapped:(id)sender {
    [recorder stop];

    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    [audioSession setActive:NO error:nil];
}

所以现在当我开始录音并进行一些录音后,我点击停止按钮然后尝试播放录音。它工作正常。 现在如果我开始录制然后不停止我双击主页按钮并从应用程序列表中关闭应用程序。然后我重新启动应用程序并尝试播放以前录制的文件,它无法正常工作。

那么有什么方法可以解决这个问题吗?

0 个答案:

没有答案