2

次のように初期化される AVAudioRecorder があります。

_recorder = [AVAudioRecorder alloc];
NSMutableDictionary *recordSettings = [[[NSMutableDictionary alloc] initWithCapacity:2] autorelease];
[recordSettings setObject:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithInt:AVAudioQualityLow] forKey: AVEncoderAudioQualityKey]; 
NSURL *url = [NSURL fileURLWithPath:[self getActualSoundPath]];
[_recorder initWithURL:url settings:recordSettings  error:nil];    
[_recorder setDelegate:self];

このコードは、シミュレーターと iPhone 3GS では完全に機能しますが、古い iPhone 3G では機能しません...

その上で何が問題なのですか?

ありがとうマーカス

4

1 に答える 1

6

iPhone 3G は、3GS/4/4S のようなハードウェア AAC エンコーディングをサポートしていません。リニア PCM を使用できますが、それは圧縮されていません。

サポートされている形式については、このスレッドを参照してください: iPhone で AMR オーディオ形式を録音するにはどうすればよいですか?

Apple ロスレス (kAudioFormatAppleLossless) と iLBC (kAudioFormatiLBC) は、iPhone 3G で正常に動作するようです。

kAudioFormatAppleIMA4 を使用することをお勧めしますが、モバイル Safari では認識されません。

/マーカス

于 2010-09-14T12:11:19.767 に答える