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à ClientID và SecretKey được lấy khi bạn tạo Application trên CMS dành cho đối tác theo hướng dẫn sau:
- Đăng nhập CMS Partner với username/password được cung cấp (https://fcloud-partner-cms.ftech.ai)
- Mua gói dịch vụ
- Tạo App
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
- Với Gradle v1.x - v5.x
Mở thư mục
build.grade
và thêm vàomaven
allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } <- add this line
}
}
- Với Gradle v6.x+
Mở thư mục
build.grade
và thêm vàomaven
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
- Java
@Override
public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
...
STTManager.init(getApplicationContext());
}
- Kotlin
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 |
- Java
TTSManager.initGateway(appId, secretKey, new IInitGatewayCallback() {
@Override
public void onSuccess() {
}
@Override
public void onFail(@Nullable AppException error) {
}
});
- Kotlin
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 |
- Java
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) {
}
});
- Kotlin
TTSManager.registerTTSCallback(object : ISTTCallback {
override fun onStart() {
}
override fun onPlaying() {
}
override fun onFail(error: AppException?) {
}
override fun onSuccess(urlAudio: String) {
})
})
Get language config
- Nhận cấu hình ngôn ngữ danh sách được sử dụng cho thông số tts
- Khi thành công, dữ liệu
listLanguage
được trả ra ởonSuccess()
Khi thất bại,
onFail()
sẽ được gọiJava
TTSManager.getLanguageConfig(new ILanguageConfigCallback() {
@Override
public void onSuccess(@NonNull List<LanguageConfigData> listLanguage) {
}
@Override
public void onFail(@Nullable AppException error) {
}
});
- Kotlin
TTSManager.getLanguageConfig(object : ILanguageConfigCallback {
override fun onSuccess(listLanguage: List<LanguageConfigData>) {
}
override fun onFail(error: AppException?) {
}
})
Start
- Được sử dụng để khởi động TTS
- Khi bắt đầu thành công,
onStart()
sẽ được triệu gọi - Nếu
isAutoPlayAudio = true
, khi có kết quả sdk sẽ phát âm thanh và gọionPlaying()
callback - Sau khi phát xong âm thanh,
audioUrl
sẽ được trả ra ởonSuccess
callback. Khi thất bại, callback
onFail()
sẽ được gọiJava
TTSManager.startTTS(language, voice, content, true);
- Kotlin
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
- Nhận cấu hình danh sách ngôn ngữ được sử dụng cho thông số tts
- Khi thành công, kết quả là
listLanguage
, nó sẽ được gọi trongonSuccess()
callback - Khi thất bại, nó sẽ gọi
onFailure()
callback
FTechTTSManager.instance().getLanguageConfig {
// onSuccess
} onFailure: {
// onFailure
}
Start
- Nếu
isAutoPlayAudio = true
, khi có kết quả, sdk sẽ phát âm thanh, audioUrl sẽ được trả về trênonSuccess()
callback - Nếu
isAutoPlayAudio = false
, khi có kết quả, audioUrl sẽ được trả về trênonSuccess()
callback - Khi không thành công, nó sẽ được xử lý ở
onFailure()
callback
FTechTTSManager.instance().startTTS(language: language,
voice: voice,
content: content,
isPlayAudio: true)