【问题标题】:Show connecting mode on VOIPPhoneCall status bar在 VOIPPhoneCall 状态栏显示连接模式
【发布时间】:2016-10-03 04:08:50
【问题描述】:
我正在 windows phone 10 上实现 VoIP 应用程序,我正在使用 VoipPhoneCall。
当用户拨打电话并将应用程序置于后台时,会显示 VoipPhoneCall,并且我希望状态栏中的连接模式正确显示,连接模式为拨号时应为“正在拨号”,连接模式为连接,它应该是持续时间。这是 Viber 的 VoipPhoneCall 状态栏,我也想做。
请帮帮我,谢谢
【问题讨论】:
标签:
uwp
statusbar
windows-10-mobile
windows-phone-voip
【解决方案1】:
我希望状态栏中的连接模式正确显示,连接模式拨号时应该是“正在拨号”,连接模式连接时应该是持续时间
关键是,我们在使用VoipCallCoordinator.RequestNewOutgoingCall method之后不需要调用VoipPhoneCall.NotifyCallActive method。
我使用了官方的 VoIP 示例来解释。
查看 VoipTasks 项目中的VccCallHelper.cs 文件。
请注意NewOutgoingCall方法(LINK):
VoipPhoneCall call = vCC.RequestNewOutgoingCall( context, contactName, serviceName, VoipPhoneCallMedia.Audio);
if (call != null)
{
call.EndRequested += Call_EndRequested;
call.HoldRequested += Call_HoldRequested;
call.RejectRequested += Call_RejectRequested;
call.ResumeRequested += Call_ResumeRequested;
call.NotifyCallActive();//Here!!
Current.VoipCall = call;
Current.StartAudio();
status = true;
}
如果我们调用VoipPhoneCall.NotifyCallActive 方法,状态栏将显示活动计时器。所以只要注释掉这一行,通知就会在AnswerRequested方法中发送,见NewIncomingCall方法->Call_AnswerRequested