すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:メディアストリームの送信制御

最終更新日:Sep 02, 2026

enableSendMediaStream は、クライアントが AI サービスに音声またはビデオのメディアストリームを送信するかどうかを制御し、AOQ プロトコルシナリオでメディア伝送が開始されるタイミングを正確に制御できるようにします。

概要

enableSendMediaStream は、クライアントが AI サービスにオーディオまたはビデオのメディアストリームを送信するかどうかを制御します。 AOQ プロトコルシナリオでは、一部のモデルはメディアデータを受け入れる前に session.updated の確認が必要です。 この API を使用して、適切なタイミングで送信を開始します。

API 定義

iOS / Mac
// iOS / Mac
func enableSendMediaStream(_ trackType: AoqTrackType, enable: Bool)
Android
// Android
void enableSendMediaStream(AoqTrackType trackType, boolean enable)
HarmonyOS (ArkTS)
// HarmonyOS (ArkTS)
enableSendMediaStream(trackType: AoqTrackType, enable: boolean): void
パラメーター

パラメーター

説明

trackType

AoqTrackType

メディアトラックタイプ: .audio または .video

enable

ブール値

true = 送信を開始; false = 送信を一時停止

制御フロー

一般的なメディアストリーム制御フローは次のとおりです。

111

例 (iOS Swift)

接続前に送信を無効化

// 接続前にオーディオとビデオの送信を無効化し、モデルが準備完了になる前にデータを受信しないようにします。
engine.enableSendMediaStream(.audio, enable: false)
engine.enableSendMediaStream(.video, enable: false)

// 接続を開始します
engine.connect(config)

session.updated 受信後に有効化

func onDataMsg(_ msg: AoqDataMsg) {
    guard let obj = try? JSONSerialization.jsonObject(with: msg.data) as? [String: Any],
          let type = obj["type"] as? String else { return }

    if type == "session.updated" {
        // AIがセッション設定を確認しました。メディア送信を開始します
        engine.enableSendMediaStream(.audio, enable: true)
        engine.enableSendMediaStream(.video, enable: true)
    }
}

重要な注意事項

  • 呼び出しのタイミングcreateEngine の呼び出し後に呼び出す必要があります。エンジンが作成される前に呼び出しても、効果はありません。
  • デフォルトの動作: この API が呼び出されない場合、SDK は接続成功後、直ちにメディアストリームの送信を開始します。
  • モデルの互換性: モデルによっては、メディアデータを受け入れる前に session.updated イベントが必要です。最大限の互換性を確保するために、「一度無効化してから有効化する」パターンを使用してください。
  • 独立制御: オーディオとビデオは独立して制御できます。たとえば、ビデオを送信せずにオーディオのみを送信できます。

適用シナリオ

シナリオ

操作

説明

モデルへの接続前

enable(.audio, false)

session.updated を待ってから送信します

session.updated 受信後

enable(.audio, true)

AI is ready; start sending