문제

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];

기본 설정이 작동해야합니다.

이것이 작동하는 이유는 이제 모노 파일을 녹음 할 것이기 때문에, 이것이 다시 재생되면 모노 파일의 일반 동작과 마찬가지로 각 스피커에서 오디오가 재생되기 때문입니다. 이 라인을 포함하면 하나의 채널이 완전히 침묵하는 스테레오 파일을 녹음하여 다시 재생하면 한 귀에 오디오 만 가져옵니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top