我正在使用sinch iOS SDK。我想在呼叫连接时默认设置扬声器,这样扬声器也会在扬声器上听到,但是sinchClient.audioController().enableSpeaker()
不能这样做,因为只能在callDidEstablish
中调用这是在电话接听后发生的。
因此振铃始终通过设备发出声音,而不是扬声器。
我通过自己操纵AVAudioSession解决了这个问题。但我不明白为什么存在这种限制?
答案 0 :(得分:0)
它应该在扬声器上播放,你是否从我们的示例应用程序中得到了相同的错误?
- (id<SINAudioController>)audioController {
return [[(AppDelegate *)[[UIApplication sharedApplication] delegate] client] audioController];
}
- (void)setCall:(id<SINCall>)call {
_call = call;
_call.delegate = self;
}
#pragma mark - UIViewController Cycle
- (void)viewDidLoad {
[super viewDidLoad];
if ([self.call direction] == SINCallDirectionIncoming) {
[self setCallStatusText:@""];
[self showButtons:kButtonsAnswerDecline];
[[self audioController] startPlayingSoundFile:[self pathForSound:@"incoming.wav"] loop:YES];
} else {
[self setCallStatusText:@"calling..."];
[self showButtons:kButtonsHangup];
}
}