당신은 다음과 같습니다 나는 다음과 같은 코드하려고 할 때 그것은 작동하지 않습니다,
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
그리고 : 도움 또는 어떻게 이걸를 달성하는 몇 가지 아이디어를 제공하기 위해 시도하십시오 나의 코드 overrideSpeaker를 기본값으로 사용합니다. 당신은 단지 overrideOutputAudioPort로 재생해야합니다. 내가 직면하는 스피커와 보조 스피커를 사용할 때 몇 가지 핵심 사항이 있습니다.
당신은 스피커 사용자의 경로 오디오를 할 때
[[AVAudioSession sharedInstance] overrideOutputAudioPort : AVAudioSessionPortOverrideSpeaker 오류 : 무기 호]
보조 스피커 또는 외부 주변 장치를 사용하려는 경우.
[AVAudioSession sharedInstance] overrideOutputAudioPort : AVAudioSessionPortOverrideNone 오류 : nil];
- 신호 처리가 작동하는 동안 (제공 및 응답 생성/수락) 기본 스피커 경로는 AVAudioSessionPortOverrideNone에 있어야합니다. 또는 AVAudioSessionPortOverrideNone으로 자동 변경됩니다.
응용 프로그램 내에서 overrideOutputAudioPort 메서드를 사용하여 오디오 경로를 변경할 수 있습니다.
희망이 있으면 도움이 될 것입니다.
감사합니다. 진심으로 감사드립니다. 실수로 생각합니다. 다음과 같이 코드를 변경하면 작동합니다.'- (void) enableSpeaker { [[AVAudioSession sharedInstance] overrideOutputAudioPort : AVAudioSessionPortOverrideSpeaker error : nil]; [[AVAudioSession sharedInstance] setCategory : AVAudioSessionCategoryPlayAndRecord 모드 : AVAudioSessionModeVideoChat 옵션 : AVAudioSessionCategoryOptionDefaultToSpeaker 오류 : nil]; _isSpeakerEnabled = YES; }' – weizhao