logo
On this page

Calculate call duration

This doc describes how to calculate the call duration through configuration.

To calculate call duration, do the following:

  1. Set the isVisible property of ZegoCallDurationConfig to display the current call timer. (It is displayed by default)
  2. Assuming that the call duration is 5 minutes, the call will automatically end when the time is up (refer to the following code). You will be notified of the end of the call duration through durationConfig.onDurationUpdate. To end the call, you can call the hangUp method of ZegoUIKitPrebuiltCallController.
final navigatorKey = GlobalKey<NavigatorState>();

void main() {
  ...
  ZegoUIKitPrebuiltCallInvitationService().setNavigatorKey(navigatorKey);

  ...
}

await ZegoUIKitPrebuiltCallInvitationService().init(
  appID: YourAppID,
  appSign: YourAppSign,
  userID: userID,
  userName: userName,
  plugins: [ZegoUIKitSignalingPlugin()],
  requireConfig: (ZegoCallInvitationData data) {
    var config = (data.invitees.length > 1)
        ? ZegoCallType.videoCall == data.type
            ? ZegoUIKitPrebuiltCallConfig.groupVideoCall()
            : ZegoUIKitPrebuiltCallConfig.groupVoiceCall()
        : ZegoCallType.videoCall == data.type
            ? ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall()
            : ZegoUIKitPrebuiltCallConfig.oneOnOneVoiceCall();

    // Modify your custom configurations here.
    config.duration.isVisible = true;
    config.duration.onDurationUpdate = (Duration duration) {
      if (duration.inSeconds == 5 * 60) {
        ZegoUIKitPrebuiltCallController().hangUp(navigatorKey.currentState!.context);
      }
    };

    return config;
  },
);

Previous

Set a hangup confirmation dialog

Next

Minimize call window

On this page

Back to top