簡體   English   中英

AVAudioRecorder:iOS9上的iPad4的音頻錄制設置

[英]AVAudioRecorder: Audio recording settings for iPad4 on iOS9

從iOS8升級到iOS9后,我正在開發的一個應用程序記錄了音頻,並開始在iPad4上無法記錄。

到目前為止使用的錄像機設置為:

    audioSegmentURL = ... (a URL with fileextension @"mp4");
    recorderSettings = @{ AVFormatIDKey: @(kAudioFormatMPEG4AAC),
                          AVEncoderAudioQualityKey: @(AVAudioQualityMin),
                          AVEncoderBitRateKey: @(8),
                          AVNumberOfChannelsKey: @(1),
                          AVSampleRateKey: @(11025.0)
                          };

這是AVAudioRecorder的初始化:

NSError *err;
AVAudioRecorder *audioRecorder = [[AVAudioRecorder alloc] initWithURL:audioSegmentURL settings:recorderSettings error:&err];

這個調用似乎成功了, errnil

prepareToRecord的調用返回NO

BOOL res = [audioRecorder prepareToRecord];

不幸的是我沒有iPad4。 在iPad Mini2上不會發生此問題。 (我也有iPad Air,但是它不支持AAC硬件編碼,並且使用了不同的錄制設置。)

這適用於iOS8。 將iPad4升級到iOS9后,它開始失敗。

有人知道哪些設置可以在帶有iOS9的iPad4上運行嗎?

非常感謝。

EDIT1:

為了進行測試,我讓錄音在iPad4上使用它:

    audioSegmentURL = ... (a URL with fileextension @"caf");
    recorderSettings =  @{ AVFormatIDKey: @(kAudioFormatAppleIMA4),
                           AVNumberOfChannelsKey: @(1),
                           AVSampleRateKey: @(16000.0)
                           };

錄音似乎有效。 但是,在錄制之后,我將幾個聲音片段附加在一起,這似乎在iPad4上失敗了。

所述組合物使用AVMutableComposition具有多個AVMutableCompositionTrack S,一個AVAssetExportSession和輸出文件類型被設置為AVFileTypeAppleM4A

M4A與帶有iOS9的iPad4上的IMA4不兼容嗎?

您的比特率在第一個錄制設置字典中看起來不正確。 嘗試刪除AVEncoderBitRate鍵。 我不知道這是否重要,但是您可能只希望文件名以m4a結尾而不是mp4即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM