このトピックでは、音声およびビデオ通話で音声ブロードキャスト用のテキストを入力する方法について説明します。
機能の説明
音声ブロードキャストを使用すると、OpenAPI オペレーションを呼び出し、ブロードキャストするテキストコンテンツをパラメーターとして渡すことができます。 クライアントは入力されたテキストコンテンツを受信すると、すぐに音声合成技術を開始してテキストを音声に変換し、ブロードキャストすることで、音声形式でユーザーに情報を明確に伝達します。
シナリオ
スマート家具デバイスなどのスマートホームデバイスのシナリオでは、ユーザーがモバイル アプリケーションまたは音声アシスタントを介してスマートホームデバイスにコマンドを発行する場合 (エアコンの温度調整や照明のオンなど)、システムは OpenAPI を呼び出して操作結果のテキストを入力し、エージェントはアクティブにブロードキャストして、デバイス操作が成功したかどうかをユーザーに通知します。これは、インテリジェント車両システムにも適用できます。 車両のインテリジェントシステムがタイヤの空気圧低下や燃料不足などの異常状態を検出した場合、OpenAPI を呼び出して関連するテキスト情報をエージェントに送信します。エージェントはドライバーにアクティブにブロードキャストし、車両の状態に注意を払うようにドライバーに迅速に注意を促し、安全運転を確保します。
機能の実装
アクティブブロードキャストのサーバー側実装
package com.aliyun.rtc;
import com.aliyun.tea.*;
public class SampleSendAIAgentSpeech {
/**
* <b>説明</b> :
* <p>AccessKey ペアを使用してクライアントを初期化します</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.ice20201109.Client createClient() throws Exception {
// プロジェクトコードが漏洩すると、AccessKey ペアが公開され、アカウント内のリソースのセキュリティが侵害される可能性があります。次のコードは参照用です。
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必須。ALIBABA_CLOUD_ACCESS_KEY_ID 環境変数がコードランタイム環境で設定されていることを確認してください。
.setAccessKeyId("yourak")
// 必須。ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数がコードランタイム環境で設定されていることを確認してください。
.setAccessKeySecret("yoursk");
// エンドポイントの詳細については、https://api.alibabacloud.com/product/ICE を参照してください。
config.endpoint = "ice.cn-shanghai.aliyuncs.com";
return new com.aliyun.ice20201109.Client(config);
}
private static void sendAIAgentSpeech() throws Exception {
com.aliyun.ice20201109.Client client = createClient();
com.aliyun.ice20201109.models.SendAIAgentSpeechRequest request = new com.aliyun.ice20201109.models.SendAIAgentSpeechRequest()
.setInstanceId("xxx")
.setText("yourtext");
try {
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
client.sendAIAgentSpeechWithOptions(request, runtime);
} catch (TeaException error) {
System.out.println(error.getMessage());
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
System.out.println(error.getMessage());
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
public static void main(String[] args) throws Exception {
sendAIAgentSpeech();
}
}