NAV
javascript

Giới thiệu

Module TTS là một service của Fcloud được phát triển bởi Ftech. Module cho phép chuyển đổi văn bản thành của khách hàng thành âm thanh thông qua việc ứng dụng công nghệ điện tử. Để tích hợp và sử dụng dịch vụ này phải sử dụng SDK của Fcloud. Và sau đây là hướng dân tích hợp SDK.

Xác thực

Để gọi được các API chúng ta sẽ phải init SDK tham số truyền vào là ClientIDSecretKey được lấy khi bạn tạo Application trên CMS dành cho đối tác theo hướng dẫn sau:

Server Integrator

Sau khi tích hợp SDK, service Fcloud hỗ trợ callback server-server giúp hỗ trợ việc lấy thông tin request nhanh và chính xác nhất.

Web SDK

Android SDK

Install SDK Android

Setup gradle maven

allprojects {
    repositories {
        google()  
        mavenCentral()
        maven { url 'https://jitpack.io' } <- add this line
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' } <- add this line
    }
}

Open file app/build.grade then add sdk

dependencies {
...
   implementation "com.github.FTechMobile:ftts-android:1.0.2"
}

Init in file Application

@Override
public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
    super.onCreate(savedInstanceState, persistentState);
    ...
    STTManager.init(getApplicationContext());
}
override fun onCreate() {
        super.onCreate()
        ...
        TTSManager.init(this)
    }

SDK Android Feature

Init

Tham số Kiểu Mô tả
appId String Application id
secretKey String Secret key
TTSManager.initGateway(appId, secretKey, new IInitGatewayCallback() {
    @Override
    public void onSuccess() {

    }

    @Override
    public void onFail(@Nullable AppException error) {

    }
});
TTSManager.initGateway(appId, secretKey, object : IInitGatewayCallback {
    override fun onSuccess() {

    }

    override fun onFail(error: AppException?) {

    }
})

Register callback

Sau khi đăng ký, SDK sẽ trả về trạng thái tương ứng trong callback

Status Description
onStart Được gọi khi bắt đầu bản ghi
onPlaying Được gọi trong khi đang phát âm thanh
onSuccess Được gọi khi trả về kết quả
onFail Được gọi khi xảy ra lỗi trong quá trình
TTSManager.registerTTSCallback(new ISTTCallback() {
    @Override
    public void onStart() {

    }

    @Override
    public void onPlaying() {

    }

    @Override
    public void onFail(@Nullable AppException error) {

    }

    @Override
    public void onSuccess(@NonNull String result) {

    }
});
TTSManager.registerTTSCallback(object : ISTTCallback {
    override fun onStart() {

    }

    override fun onPlaying() {

    }

    override fun onFail(error: AppException?) {

    }

    override fun onSuccess(urlAudio: String) {

    })
})

Get language config

TTSManager.getLanguageConfig(new ILanguageConfigCallback() {
    @Override
    public void onSuccess(@NonNull List<LanguageConfigData> listLanguage) {

    }

    @Override
    public void onFail(@Nullable AppException error) {

    }
});
TTSManager.getLanguageConfig(object : ILanguageConfigCallback {
    override fun onSuccess(listLanguage: List<LanguageConfigData>) {

    }

    override fun onFail(error: AppException?) {

    }
})

Start

TTSManager.startTTS(language, voice, content, true);
TTSManager.startTTS(language, voice, content, true)

IOS SDK

Install SDK IOS

Hỗ trợ các thiết bị có Apple Neural Engine trong iOS 14 và iPadOS 14, đồng thời yêu cầu thiết bị có camera TrueDepth trên iOS 13 và iPadOS 13 trở về trước.

Add package dependencies

SDK IOS Integration

Init

Tham số Kiểu Mô tả
appId String Application id
key String Ekyc license key
FTechTTSManager.instance().initSDK(appId: String, key: String) {
    // onSuccess
} onFailure: { error in
    // onFailure
}

Register callback

FTechTTSManager.instance().delegate = self

SDK IOS Feature

Implement FTechTTSMangerDelegate

extension ViewController: FTechTTSMangerDelegate {
    func onSuccess(data: TTSResponse) {
    }

    func onFailure(error: FTError) {
    }
}

Get language config

FTechTTSManager.instance().getLanguageConfig {
    // onSuccess
    } onFailure: { 
    // onFailure
}

Start

FTechTTSManager.instance().startTTS(language: language,
                                    voice: voice,
                                    content: content, 
                                    isPlayAudio: true)