iPhone -AvaudioreCorder
-
16-09-2019 - |
문제
AvaudioreCorder를 사용하여 오디오를 녹음하고 WAV 파일에 저장하고 있습니다 (SDK 3.0 사용) Settings Dictionary에는 다음 값이 포함되어 있습니다.
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
[recordSetting setValue :[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[recordSetting setValue :[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
채널 수를 2로 지정한 후에도 재생은 모노입니다 (즉, 두 채널 대신 1 개의 귀 잭에서만 재생).
다른 사람 이이 문제에 직면 한 적이 있습니까? 레코드 세트 사전 값에 문제가 있습니까?
감사
누구든지이를 도와 줄 수 있습니까? 채널 수를 2로 지정하면 왜 재생이 하나의 잭에 불과합니까? (테스트에 헤드폰을 사용하고 있습니다 - 내 아이폰과 함께 제공되는 것)
해결책
아니요, 설정에 아무런 문제가 없습니다. 시뮬레이터에서 앱을 시도하면 두 채널에서 녹음하고 재생됩니다. 그러나 iPhone 3G와 3GS는 하나의 채널을 사용하여 오디오 만 기록합니다. 이것은 3GS에서 촬영 한 영화의 오디오에도 적용됩니다.
따라서 버그가 아닙니다.
다른 팁
다음 줄에 댓글을 달았습니다
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
기본 설정이 작동해야합니다.
이것이 작동하는 이유는 이제 모노 파일을 녹음 할 것이기 때문에, 이것이 다시 재생되면 모노 파일의 일반 동작과 마찬가지로 각 스피커에서 오디오가 재생되기 때문입니다. 이 라인을 포함하면 하나의 채널이 완전히 침묵하는 스테레오 파일을 녹음하여 다시 재생하면 한 귀에 오디오 만 가져옵니다.
제휴하지 않습니다 StackOverflow