enableSendMediaStream controla se o cliente envia fluxos de mídia de áudio ou vídeo para o service de IA e oferece controle preciso sobre o início da transmissão em cenários do protocolo AOQ.
Visão geral
enableSendMediaStream determina se o cliente envia fluxos de mídia de áudio ou vídeo para o service de IA. Em cenários do protocolo AOQ, alguns modelos exigem uma confirmação session.updated antes de aceitar dados de mídia. Use esta API para iniciar o envio no momento adequado.
Definição da 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
Parâmetros:
Parâmetro | Tipo | Descrição |
|---|---|---|
trackType | AoqTrackType | Tipo de trilha de mídia: |
enable | Bool |
|
Fluxo de controle
O fluxo típico de controle de mídia segue a sequência abaixo:
Exemplo (iOS Swift)
Desative o envio antes da conexão
// Disable audio and video sending before connecting to prevent the model
// from receiving data before it is ready
engine.enableSendMediaStream(.audio, enable: false)
engine.enableSendMediaStream(.video, enable: false)
// Initiate the connection
engine.connect(config)
Ative após receber 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" {
// The AI has confirmed the session configuration; start sending media
engine.enableSendMediaStream(.audio, enable: true)
engine.enableSendMediaStream(.video, enable: true)
}
}
Observações importantes
- Momento da chamada: Chame este método após
createEngine. Chamadas anteriores à criação do engine não surtem efeito. - Comportamento padrão: Se você não chamar esta API, o SDK iniciará o envio de fluxos de mídia imediatamente após estabelecer uma conexão bem-sucedida.
- Compatibilidade de modelos: Alguns modelos dependem do evento
session.updatedpara aceitar dados de mídia. Adote o padrão "desativar primeiro, ativar depois" para garantir máxima compatibilidade. - Controle independente: Gerencie áudio e vídeo separadamente. Por exemplo, envie áudio sem transmitir vídeo.
Cenários comuns
Cenário | Ação | Descrição |
|---|---|---|
Antes de conectar ao modelo |
| Aguarde session.updated antes de enviar |
Após receber session.updated |
| A IA está pronta; inicie o envio |