Swift

Implementar a lógica “Reproduzir toque”

Precisamos de um método que pause o fluxo de áudio do Vonage e inicie o reprodutor de áudio padrão do iOS.

Como o sistema de áudio do iPhone é um singleton global, não podemos reproduzir um toque e o fluxo do Vonage simultaneamente sem que ocorram artefatos de áudio. Portanto, interrompemos a captura/reprodução do áudio do Vonage antes de reproduzir o toque.

Adicione este método ao seu AudioDeviceRingtone classe:

func playRingtone(from url: URL) {
    // 1. Pause audio
    // These methods stop the Vonage audio unit from accessing the hardware
    _ = stopCapture()
    _ = stopRendering()
    // 2. Stop & replace existing audio player
    if let player = audioPlayer {
        player.stop()
        audioPlayer = nil
    }
    
    // 3. Initialize the AVAudioPlayer
    do {
        audioPlayer = try AVAudioPlayer(contentsOf: url)
        audioPlayer?.delegate = self
        
        // Loop indefinitely
        audioPlayer?.numberOfLoops = -1
        
        // 4. Setup Vibration Timer
        if vibratesWithRingtone {
            vibrateTimer = Timer.scheduledTimer(timeInterval: vibrateFrequencySeconds,
                                                target: self,
                                                selector: #selector(buzz(_:)),
                                                userInfo: nil,
                                                repeats: true)
        }
        
        // 5. Play the audio
        audioPlayer?.play()
    } catch {
        print("Ringtone audio player initialization failure \(error)")
        audioPlayer = nil
    }
}

Driver de áudio personalizado

Aprenda a usar um driver de áudio personalizado para personalizar o áudio dos fluxos do emissor e do assinante. Você utilizará o driver de áudio personalizado quando quiser iniciar e interromper a reprodução de seu próprio arquivo de áudio, bem como realizar qualquer ação que não faça parte do comportamento padrão do chat de vídeo ao vivo fornecido pelo SDK.

Disponível em:
Kotlin Swift
Etapas
1
Introdução
2
Introdução
3
Criando um novo projeto
4
Incorporando o SDK de vídeo da Vonage
5
Configurando a autenticação
6
Visão geral
7
Criar a classe do driver de áudio personalizado
8
Implementar a lógica “Reproduzir toque”
9
Implementar a lógica “Parar o toque”
10
Integrar com o Vonage Video Manager
11
Controle o áudio por meio de eventos de sessão
12
Como funciona
13
Conclusão