0

我在 windows phone 10 上实现 VoIP 应用程序,我正在使用 VoipPhoneCall。

当用户拨打电话并将应用程序置于后台时,会显示 VoipPhoneCall,并且我希望状态栏中的连接模式正确显示,当连接模式正在拨号时它应该是“拨号”,当连接模式连接时,它应该是持续时间。这是 Viber 的 VoipPhoneCall 状态栏,我也想做。

Viber 的 Voip 电话呼叫状态栏

请帮助我,谢谢

4

1 回答 1

1

我希望状态栏中的连接模式正确显示,连接模式拨号时应该是“拨号”,连接模式连接时应该是持续时间

关键是,我们不需要在使用VoipPhoneCall.NotifyCallActivemethod之后调用该VoipCallCoordinator.RequestNewOutgoingCall方法

我使用了官方的 VoIP 示例来解释。

请参阅VoipTasks项目中的VccCallHelper.cs文件。

请注意NewOutgoingCall方法(链接):

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方法中发送,见NewIncomingCallmethod->Call_AnswerRequested

于 2016-10-05T09:33:40.907 回答