Skip to content

The Vidus SDK comes with a set of screens and configurations to record live video of customers. Each of the recording options in the SDK are called nodes which can be configured by developers.

Notifications You must be signed in to change notification settings

frslabs/vidus-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

VIDUS ANDROID SDK

version

The Vidus SDK comes with a set of screens and configurations to record live video of customers. Each of the recording options in the SDK are called nodes which can be configured by developers.

You can find the release history at Changelog

‼ ATTENTION ‼ → BREAKING CHANGE introduced at Vidus SDK v3.1.0. We have introduced a new license format. If you are using versions prior to v3.1.0 and intend to update to v3.1.0 or above, contact support@frslabs.com for an updated license.

Table Of Content

Prerequisite

You will need a valid license to use the Vidus SDK, which can be obtained by contacting support@frslabs.com .

Depending on the license - offline or online - you have opted for, the ping functionality to billing servers will be disabled or enabled. For instance, if you have opted for the offline SDK model, then there will be no server ping needed to our billing server to bill you. However, if you have chosen a transaction based pricing, then after each transaction, a ping request will be made to our billing server. This cannot be overrided by the App. A point to note is that if the ping transaction fails for any reason, the whole transaction will be void without any results from the SDK.

Once you have the license , follow the below instructions for a successful integration of Vidus SDK onto your Android Application.

Overview of Vidus SDK Libraries

This section lists the Vidus SDK Libraries that are available for Android with their gradle dependencies, latest version and their size.

SDK Library Gradle dependency Latest version Size
Vidus SDK (Required) com.frslabs.android.sdk:vidus version 550 KB
Core Face Bundled SDK (Required) com.frslabs.android.sdk:core-face-bundled version 6.2 MB

Face Dependencies

Vidus uses Face detection capabilities via either of these two dependencies, and it is required to include any one of them. Core Face Bundled SDK and Core Face Unbundled SDK. If size is not an issue, we recommend going with the Core Face Bundled SDK. More details about these dependencies are found below.

Core Face Bundled SDK

Include this dependency if size of the SDK is not an issue (Adds ~6.2 MB to the app size). This is the recommended approach.

Core Face Unbundled SDK

Include this dependency if increase in SDK size is a concern (Adds ~600 KB to the app size). However, upon first run (and only on first run), the face dependencies are downloaded while users are shown a screen with a progress bar. The Core Face Bundled SDK does not have this behaviour as all associated files are bundled during compile time itself (hence the increase in size).

Android SDK Requirements

Minimum SDK Version - 21 or higher

Download

Using maven repository

Add the following code to your project level build.gradle file

allprojects { 
    repositories {
        //'vidus-android' and  'common-core-android' is required for vidus and core face SDKs.
        // 'torus-android' is required for vidus billing dependencies
        ['torus-android' , 'vidus-android' , 'common-core-android'].each { value->
            maven {
                url "https://${value}.repo.frslabs.space/"
                credentials {
                    username '<YOUR_USERNAME>' 
                    password '<YOUR_PASSOWRD>' 
                }
            }
        }
    }
}

After that, add the following code to your app level build.gradle file

// ...

defaultConfig { 

    // ...

    vectorDrawables.useSupportLibrary true 
    
}

// ...

And then, add the dependencies

// ...

dependencies {

    /* Dependencies for Vidus SDK */ 
    implementation 'androidx.appcompat:appcompat:<lastest verison>'
    
    implementation 'androidx.constraintlayout:constraintlayout:<lastest verison>'
    
    implementation 'androidx.legacy:legacy-support-v4:<lastest verison>'
    
    implementation 'com.google.android.material:material:<lastest verison>'
       
    // Vidus Core Dependency
    implementation 'com.frslabs.android.sdk:vidus:3.2.3'

    // REQUIRED : Use ANY ONE of the below core-face modules, i.e either core-face-bundled OR core-face-unbundled
    // Recommended over core-face-unbundled
    implementation 'com.frslabs.android.sdk:core-face-bundled:1.0.0'

    // Uncomment the below line and remove core-face-bundled mentioned above to use core-face-unbundled dependency.
    //implementation 'com.frslabs.android.sdk:core-face-unbundled:1.0.0'
    
    // OPTIONAL - Required if transaction based billing is enabled
    // Vidus billing dependencies
    implementation 'com.frslabs.android.sdk:torus:1.2.1'
    
    implementation 'androidx.multidex:multidex:2.0.1'
    
    implementation 'com.google.code.gson:gson:2.8.5'
   
}

Setup

Permissions

Vidus requires the following permission to operate properly

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="your.package.name" >

    <!-- Required by Vidus -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
  
    <!-- Optional - Required if transaction based billing is enabled -->
    <uses-permission android:name="android.permission.INTERNET" />  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  
    <uses-feature android:name="android.hardware.camera" android:required="true" />
    <uses-feature android:name="android.hardware.camera.front" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature android:name="android.hardware.microphone" />

    <application>
      ...
    </application>

</manifest>

Quick Start

Initiating the Vidus Sdk

Initialize the Vidus instance with the appropriate configurations to invoke the Vidus Sdk

Here, only the SimpleRecorderNode is being invoked

public class MainActivity extends AppCompatActivity implements VidusResultCallback {

    // ...

    /* Enter the Vidus license key here */
    private String VIDUS_LICENSE_KEY = "ENTER_YOUR_LICENSE_KEY_HERE";

    /* Node ID - required to identify the node in the result */
    int SIMPLE_NODE_1 = 100; 
    
    /* (OPTIONAL)  Enter the Vidus api credentials here */
    private String VIDUS_API_BASE_URL = "ENTER_BASE_URL_HERE"
            , VIDUS_API_REFERENCE_ID = "ENTER_REF_ID_HERE"
            , VIDUS_API_CRED1 = "ENTER_API_CRED1_HERE"
            , VIDUS_API_CRED2 = "ENTER_API_CRED2_HERE";
    
    /* (OPTIONAL)  Enter the Vidus encryption key here */
    private String VIDUS_ENCRYPTION_KEY = "ENTER_ENCRYPTION_KEY_HERE";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button callSdk = findViewById(R.id.call_sdk);
        callSdk.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /* Invoke the Vidus Sdk */
                callVidusSdk();
            }
        });
    }

    public void callVidusSdk() {

        //Initialize the Vidus Node object with the appropriate nodes and parameters
        VidusNode vidusNode = new VidusNodeBuilder()
                .addNode(SIMPLE_NODE_1, new SimpleRecorderNode().setVideoRecordTime(5))
                .build();

        //Build the Vidus Sdk Config object with the appropriate configurations
        VidusConfig vidusConfig = new VidusConfig.Builder()
                .setLicenseKey(VIDUS_LICENSE_KEY)
                .setShowInstruction(false) 
                //If the user wants preivew enabled to true
                .showPreview(false)
                .setEncryptionKey(VIDUS_ENCRYPTION_KEY)
                .setVidusNode(vidusNode)
                .setApiCredentials(new VidusApiCredentials(VIDUS_API_BASE_URL
                        , VIDUS_API_REFERENCE_ID
                        , VIDUS_API_CRED1
                        , VIDUS_API_CRED2))
                .build();

        //Call the Vidus Sdk 
        Vidus vidus = new Vidus(vidusConfig);
        vidus.start(this, this);
        
    }

    // ...

}

Handling the result

Your activity must implement VidusResultCallback to receive the result.

    // ...

    @Override
    public void onVidusSuccess(VidusResult vidusResult) {

        String videoPath = vidusResult.getVideoPath();
        String referenceId = vidusResult.getReferenceId(); //Optional
        
        SimpleRecorderNodeResult simpleRecorderNode = vidusResult.getSimpleRecorderNodeById(SIMPLE_NODE_1);

        /* Handle the Vidus Sdk result here */
        Log.d(TAG, "onVidusSuccess: VideoPath:"+videoPath+" NodeResult:"+simpleRecorderNode.toString());

    }

    @Override
    public void onVidusFailure(int errorCode) {
    
        /* Handle the Vidus Sdk failure result here */
        Log.d(TAG, "onVidusFailure: "+errorCode);
    }

    // ...

Invoking all the nodes

For details of the available nodes refer Vidus Parameters

The nodes will be processed in the order in which they are added to VidusNode Initialise VidusNode to include all the nodes as given below

        //...
        
        VidusNode vidusNode = new VidusNodeBuilder()
                .addNode(SIMPLE_NODE, new SimpleRecorderNode()
                        .setVideoRecordTime(5))

                .addNode(CHALLENGE_CODE_NODE, new ChallengeCodeNode()
                        .setVideoChallengeCodeText("Please tell secret number")
                        .setVideoChallengeCodeVoiceType(VidusUtility.VOICE_TYPE_FEMALE))

                .addNode(CHALLENGE_TEXT_NODE, new ChallengeTextNode()
                        .setVideoChallengeText("Please tell your date of birth")
                        .setVideoChallengeTextTime(5)
                        .setVideoChallengeTextVoiceType(VidusUtility.VOICE_TYPE_FEMALE))

                .addNode(DECLARATION_NODE, new DeclarationNode()
                        .setVideoDeclarationText("PLACE_TEXT_HERE")
                        .setVideoDeclarationSpokenMethod(VidusUtility.SPOKEN_BY_MACHINE)
                        //Lesser the value greater the text scroll speed (user can specify from 10.0 to 50.0)
                        .setShowFaceOverlay(true) //OPTIONAL: default value true
                        .setVideoTextSpeed(35.0)//35.0f
                        .setVideoDeclarationVoiceType(VidusUtility.VOICE_TYPE_FEMALE))

                .addNode(OSV_RECORDER_NODE, new OSVRecorderNode()
                        .setVideoRecordTime(5))

                .addNode(OSV_TEXT_RECORDER_NODE, new OSVChallengeTextNode()
                        .setVideoChallengeText("Please show you PAN card")
                        .setVideoChallengeTextTime(8)
                        .setVideoChallengeTextVoiceType(VidusUtility.VOICE_TYPE_FEMALE))
                        
                .addNode(PIV_NODE, new PIVNode()
                        .setVideoChallengeText("Enter your question here. Prompt to confirm.")
                        .setVideoChallengeTextVoiceType(VidusUtility.VOICE_TYPE_FEMALE)
                        .setVideoChallengeTextToSpeak("पाठ को अंग्रेजी में फॉलबैक के रूप में बोला जाए।")
                        .setFallbackVideoChallengeTextToSpeak("Enter text to be spoken as fallback in english. Prompt to confirm. ")
                        .setLanguage("hi_IN")
                        .setPositiveButtonText("Yes")
                        .setNegativeButtonText("No"))                                                             .addNode(PIVC_NODE,com.frslabs.android.sdk.vidus.utils.FileUtils.getPIVCNode(com.frslabs.android.sdk.vidus.utils.FileUtils.readFromfileInputStream(this.getResources().getAssets().open("en_US")), templateJsonString, "en_US")) # Template JsonString 
                .build();

        // ...

For handling the result of all the nodes, refer the code below

    // ...
    
    @Override
    public void onVidusSuccess(VidusResult vidusResult) {

        String videoPath = vidusResult.getVideoPath();
        String referenceId = vidusResult.getReferenceId(); //Optional
        String imagePath = vidusResult.getImagePath();// Optional


        SimpleRecorderNodeResult simpleRecorderNodeResult = vidusResult.getSimpleRecorderNodeById(SIMPLE_NODE_1);
        ChallengeCodeNodeResult challengeCodeNodeResult = vidusResult.getChallengeCodeNodeById(CHALLENGE_CODE_NODE);
        ChallengeTextNodeResult challengeTextNodeResult = vidusResult.getChallengeTextNodeById(CHALLENGE_TEXT_NODE);
        DeclarationNodeResult declarationNodeResult = vidusResult.getDeclarationNodeById(DECLARATION_NODE);
        OSVRecorderNodeResult osvRecorderNodeResult = vidusResult.getOSVRecorderNodeById(OSV_RECORDER_NODE);
        OSVChallengeTextNodeResult osvChallengeTextNodeResult =               vidusResult.getOSVChallengeTextNodeById(OSV_TEXT_RECORDER_NODE);
        PIVNodeResult pivNodeResult = vidusResult.getPIVNodeById(PIV_NODE);
        PIVCNodeResult pivcNodeResult = vidusResult.getPIVCNodeById(PIVC_NODE);

        /* Handle the Vidus Sdk result here */
        Log.i(TAG, "onActivityResult: VideoPath:" + videoPath);
        Log.i(TAG, "onActivityResult: " + simpleRecorderNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + challengeCodeNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + challengeTextNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + declarationNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + osvRecorderNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + osvChallengeTextNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + pivNodeResult.toString());
        Log.i(TAG, "onActivityResult: " + pivcNodeResult.toString());


    }

    @Override
    public void onVidusFailure(int errorCode) {

        /* Handle the Vidus Sdk failure result here */
        Log.d(TAG, "onVidusFailure: "+errorCode);

    }
    
    // ...
    

Vidus Result

The result is obtained through the VidusResult object , which has the results of each nodes in their respective result classes .

Given below are the Result classes in brief.

VidusResult
Public Methods
String getVideoPath() Gets the path of video which was recorded
BaseNodeResult getNodeById() Gets the exact node result by Id. (Once retrieved should be casted to appropriate node class)
String getReferenceId() Gets the Reference Id
SimpleRecorderNodeResult getSimpleRecorderNodeById() Gets the exact SimpleRecorderNode result by Id
ChallengeCodeNodeResult getChallengeCodeNodeById() Gets the exact ChallengeCodeNode result by Id
ChallengeTextNodeResult getChallengeTextNodeById() Gets the exact ChallengeTextNode result by Id
DeclarationNodeResult getDeclarationNodeById() Gets the exact DeclarationNode result by Id
OSVRecorderNodeResult getOSVRecorderNodeById() Gets the exact OSVRecorderNode result by Id
OSVChallengeTextNodeResult getOSVChallengeTextNodeById() Gets the exact OSVChallengeTextNode result by Id
PIVNodeResult getPIVNodeById() Gets the exact PIVNode result by Id
PIVCNodeResult getPIVCNodeById() Gets the exact PIVCNode result by Id

Each of the individual Node result classes are briefed below

SimpleRecorderNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
ChallengeCodeNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
int getCodeRecordStartTime() Gets the time(seconds) when the user-spoken code starts to get recorded
String getVideoChallengeCodeText() Gets the prompt text which was displayed
String getVideoChallengeCode() Gets the code which was prompted to be spoken
boolean isCodeVerified() Returns whether the code spoken matches with the challenge code displayed
ChallengeTextNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
int getTextRecordStartTime() Gets the time(seconds) when the user-spoken code starts to get recorded
String getVideoChallengeText() Gets the prompt text which was displayed
DeclarationNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
String getVideoDeclarationText() Gets the text which was displayed
int getVideoDeclarationSpokenMethod() Gets the spoken method type
OSVRecorderNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
OSVChallengeTextNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
int getTextRecordStartTime() Gets the time(seconds) when the user-spoken code starts to get recorded
String getVideoChallengeText() Gets the prompt text which was displayed
PIVNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
String getVideoChallengeQuestion() Gets the question which was displayed
String getVideoChallengeAnswer() Gets the value of button clicked
String getVideoChallengeTextToSpeak() Gets the text which was spoken
String getFallbackVideoChallengeTextToSpeak() Gets the fallback text (English) which was spoken. (Fallback text is spoken only if speaking VideoChallengeText in a different language failed)
PIVCNodeResult
Public Methods
int getStartTime() Gets the time(seconds) when the node started
int getStopTime() Gets the time(seconds) when the node stopped
String getVideoChallengeQuestion() Gets the question which was displayed
String getVideoChallengeAnswer() Gets the value of button clicked
String getVideoChallengeTextToSpeak() Gets the text which was spoken
String getFallbackVideoChallengeTextToSpeak() Gets the fallback text (English) which was spoken. (Fallback text is spoken only if speaking VideoChallengeText in a different language failed)
String getDisplayText() Gets display question text

Vidus Error Codes

Following error codes will be returned on the onVidusFailure method of the callback

CODE DESCRIPTION
803 Permission denied
804 SDK was interrupted
805 Vidus SDK License expired
806 Vidus SDK License was invalid
807 Invalid Config
808 Transaction Failed
809 No Internet Available
810 Timeout Error
811 Network Error
812 Camera Error

Vidus SDK API

See the below table for the public APIs of Vidus SDK,

Vidus
Method/Constructor Comments
Vidus(VidusConfig var1) Instantiates the Vidus Object
start(Context activityContext, VidusResultCallback vidusResultCallback) Starts the Vidus SDK
VidusConfig

VidusConfig.Builder() allows to instantiate the VidusConfig object with customisable features. VidusConfig is to be set when instantiating Vidus object , See Vidus

Method Default Required Comments
setLicenceKey(String licenseKey) NULL Yes Sets the License Key needed for Vidus SDK
setShowInstruction(boolean showInstructions) false Optional If it is true then the instruction screen will be shown to the user before showing the capture screen.
setVidusNode(VidusNode vidusNode) NULL Yes Refer Vidus Parameters
setCamera(Boolean var) Utility.CAMERA_FRONT Optional For front camera Utility.CAMERA_FRONT and for back camera Utility.CAMERA_BACK
showPreview(Boolean var) false Optional Show preview of the captured video before finish.
screenRecord(Boolean var) false Optional Enable or disable screen reording
build() - - Builds VidusConfig Instance

Vidus Parameters

The Vidus SDK has APIs to capture interactive realtime selfie video with customizable actions. Each functionality is separated into unique nodes. The APIs are contained in the following input nodes

  1. Simple Recorder Node

  2. Challenge Code Node

  3. Challenge Text Node

  4. Declaration Node

  5. OSV Recorder Node

  6. OSV Challenge Text Node

  7. PIV Node (Pre-Issuance Verification Node)

  8. PIVC Node

The Input Nodes are explained below,

Simple Recorder Node

Captures a video recording with a user defined time

Public Methods
setVideoRecordTime(int videoRecordTime) Sets the time(seconds) taken for the recording of the node.

Values should be between 1 and 100

Challenge Code Node

Captures a video recording which will include a user-read 4 digit code prompted by a customizable machine-read question

Public Methods
setVideoChallengeCodeText(String videoChallengeCodeText) Sets the text that will be spoken prior to displaying the code.
setVideoChallengeCodeVoiceType(int videoChallengeCodeVoiceType) (OPTIONAL)
Sets the voice type for the machine-read text.

Values are
VideoSdkUtility.VOICE_TYPE_MALE
VideoSdkUtility.VOICE_TYPE_FEMALE
(Default Value)

Challenge Text Node

Captures a video recording which will include a user-prompted answer with a customizable machine-read question

Public Methods
setVideoChallengeText(String videoChallengeText) Sets the text that will be spoken.
setVideoChallengeTextTime(int videoChallengeTextTime) Sets the recording time(seconds) for the node after the text is spoken.

Values should be between 1 and 100
setVideoChallengeTextVoiceType(int videoChallengeTextVoiceType) (OPTIONAL)
Sets the voice type for the machine-read text.

Values are
VideoSdkUtility.VOICE_TYPE_MALE
VideoSdkUtility.VOICE_TYPE_FEMALE
(Default Value)

Declaration Node

Captures a video recording which will include a user-read or machine-read text/declaration

Public Methods
setVideoDeclarationText(String videoDeclarationText) Sets the text that will be displayed.
setVideoDeclarationVoiceType(int videoDeclarationVoiceType) (OPTIONAL)
Sets the voice type for the machine-read text.

Values are
VideoSdkUtility.VOICE_TYPE_MALE
VideoSdkUtility.VOICE_TYPE_FEMALE
(Default Value)
setVideoTextSpeed(int VideoTextSpeed) (OPTIONAL)
Lesser the value greater the text scroll speed.

Values are
10.0
60.0
(Default Value is 35.0)
setShowFaceOverlay(boolean showFaceOverlay) (OPTIONAL)
Show or hide face overlay.

Values are
true or false(Default Value is true)
setVideoDeclarationSpokenMethod(int videoDeclarationSpokenMethod) (OPTIONAL)
Sets the way the text is to be spoken,
Either by the user or by the machine.

Values are
VideoSdkUtility.SPOKEN_BY_MACHINE
VideoSdkUtility.SPOKEN_BY_USER
(Default Value)

OSV Recorder Node

Captures a video recording with a user defined time

Public Methods
setVideoRecordTime(int videoRecordTime) Sets the time(seconds) taken for the recording of the node.

Values should be between 1 and 100

OSV Challenge Text Node

Public Methods
setVideoRecordTime(int videoRecordTime) Sets the text that will be spoken.
setVideoRecordTime(int videoRecordTime) Sets the time(seconds) taken for the recording of the node.

Values should be between 1 and 100
setVideoChallengeTextVoiceType(int videoChallengeTextVoiceType) (OPTIONAL)
Sets the voice type for the machine-read text.

Values are
VideoSdkUtility.VOICE_TYPE_MALE
VideoSdkUtility.VOICE_TYPE_FEMALE
(Default Value)

PIV Node

Public Methods
setVideoChallengeText(String videoChallengeText) Sets the text that will be displayed.
setVideoChallengeTextTime(int videoChallengeTextTime) Sets the time(seconds) taken for the recording of the node.

Values should be between 1 and 100
setVideoChallengeTextToSpeak(String videoChallengeTextToSpeak) Sets the text(In English) that will be spoken. In PIV node, clients should ensure that currencies are written in full for the speech to text function to work correctly. For example 2Cr should be written as 2 Crores. And currency symbols should be written in full. For example, Rs should be written as Rupees. Any number over 6 digits will be treated as a monetary number when spoken by the machine.
setFallbackVideoChallengeTextToSpeak(String fallbackVideoChallengeTextToSpeak) Sets the text (Vernacular) that will be spoken, with a necessary fallback text (In English) that will be spoken if speaking the former text failed. In PIV node, clients should ensure that currencies are written in full for the speech to text function to work correctly. For example 2Cr should be written as 2 Crores. And currency symbols should be written in full. For example, Rs should be written as Rupees. Any number over 6 digits will be treated as a monetary number when spoken by the machine.
setLanguage(String language) Sets the language in which text set in setVideoChallengeTextToSpeak has to be spoken
setPositiveButtonText(String positiveButtonText) Sets the text to be shown in the Positive action button.
setNegativeButtonText(String negativeButtonText) Sets the text to be shown in the Negative action button.
setVideoChallengeTextVoiceType(int videoChallengeTextVoiceType) (OPTIONAL)
Sets the voice type for the machine-read text.

Values are
VideoSdkUtility.VOICE_TYPE_MALE
VideoSdkUtility.VOICE_TYPE_FEMALE
(Default Value)

PIVC Node

Public Methods
setVideoChallengeText(String videoChallengeText) Sets the text that will be displayed.
setVideoChallengeTextTime(int videoChallengeTextTime) Sets the time(seconds) taken for the recording of the node.

Values should be between 1 and 100
setVideoChallengeTextToSpeak(String videoChallengeTextToSpeak) Sets the text(In English) that will be spoken. In PIV node, clients should ensure that currencies are written in full for the speech to text function to work correctly. For example 2Cr should be written as 2 Crores. And currency symbols should be written in full. For example, Rs should be written as Rupees. Any number over 6 digits will be treated as a monetary number when spoken by the machine.
setFallbackVideoChallengeTextToSpeak(String fallbackVideoChallengeTextToSpeak) Sets the text (Vernacular) that will be spoken, with a necessary fallback text (In English) that will be spoken if speaking the former text failed. In PIV node, clients should ensure that currencies are written in full for the speech to text function to work correctly. For example 2Cr should be written as 2 Crores. And currency symbols should be written in full. For example, Rs should be written as Rupees. Any number over 6 digits will be treated as a monetary number when spoken by the machine.
setLanguage(String language) Sets the language in which text set in setVideoChallengeTextToSpeak has to be spoken
setPositiveButtonText(String positiveButtonText) Sets the text to be shown in the Positive action button.
setNegativeButtonText(String negativeButtonText) Sets the text to be shown in the Negative action button.
setVideoChallengeTextVoiceType(int videoChallengeTextVoiceType) (OPTIONAL)
Sets the voice type for the machine-read text.

Values are
VideoSdkUtility.VOICE_TYPE_MALE
VideoSdkUtility.VOICE_TYPE_FEMALE
(Default Value)
setDisplayText(String displayText) Sets the text that will be displayed.

Help

For any queries/feedback , contact us at support@frslabs.com

About

The Vidus SDK comes with a set of screens and configurations to record live video of customers. Each of the recording options in the SDK are called nodes which can be configured by developers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published