enableSendMediaStream mengontrol apakah klien mengirim aliran media audio atau video ke layanan AI, memberi Anda kendali tepat atas waktu transmisi media dalam skenario protokol AOQ.
Ikhtisar
enableSendMediaStream mengontrol apakah klien mengirim aliran media audio atau video ke layanan AI. Dalam skenario protokol AOQ, beberapa model memerlukan konfirmasi session.updated sebelum dapat menerima data media. Gunakan API ini untuk mulai mengirim media pada waktu yang tepat.
Definisi 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
Parameter:
Parameter | Tipe | Deskripsi |
|---|---|---|
trackType | AoqTrackType | Jenis track media: |
enable | Bool |
|
Alur kontrol
Alur umum kontrol media stream adalah sebagai berikut:
Contoh (iOS Swift)
Nonaktifkan pengiriman sebelum terhubung
// Nonaktifkan pengiriman audio dan video sebelum terhubung untuk mencegah model
// menerima data sebelum siap
engine.enableSendMediaStream(.audio, enable: false)
engine.enableSendMediaStream(.video, enable: false)
// Mulai koneksi
engine.connect(config)
Aktifkan setelah menerima 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 telah mengonfirmasi konfigurasi sesi; mulai mengirim media
engine.enableSendMediaStream(.audio, enable: true)
engine.enableSendMediaStream(.video, enable: true)
}
}
Catatan penting
- Kapan dipanggil: Harus dipanggil setelah
createEngine. Pemanggilan sebelum engine dibuat tidak berpengaruh. - Perilaku default: Jika API ini tidak dipanggil, SDK akan langsung mengirim aliran media setelah koneksi berhasil.
- Kompatibilitas model: Beberapa model memerlukan event
session.updatedsebelum menerima data media. Gunakan pola "nonaktifkan dulu, lalu aktifkan" untuk kompatibilitas maksimal. - Kontrol independen: Audio dan video dapat dikontrol secara independen—misalnya, Anda dapat mengirim audio tanpa mengirim video.
Skenario umum
Skenario | Tindakan | Deskripsi |
|---|---|---|
Sebelum terhubung ke model |
| Tunggu session.updated sebelum mengirim |
Setelah menerima session.updated |
| AI siap; mulai mengirim |