Swift

Crear la clase de controlador de audio personalizado

Primero copie el archivo OTDefaultAudioDevice.switf a su proyecto. Esta clase maneja el trabajo pesado de enrutamiento de audio.

A continuación, cree un nuevo archivo Swift llamado AudioDeviceRingtone.swift. Añadiremos lógica para gestionar un AVAudioPlayer.

import OpenTok
import AVFoundation
import AudioToolbox // Required if you want vibration

class AudioDeviceRingtone: OTDefaultAudioDevice, AVAudioPlayerDelegate {
    
    // MARK: - Properties
    private var audioPlayer: AVAudioPlayer?
    private var vibratesWithRingtone: Bool = false
    private var vibrateTimer: Timer?
    private let vibrateFrequencySeconds: TimeInterval = 1.0
    private var ringtoneURL: URL?
    /**
     * This property is only needed later, because we can't always do as requested immediately. 
     * We are defering incoming callbacks from OTAudioBus until we aren't playing anything back
     * (check the sample app for details)
     */
    private var deferredCallbacks: [String] = [] 

    // MARK: - Initialization
    init(ringtone url: URL) {
        self.ringtoneURL = url
        super.init()
    }
    
    // MARK: - Helper: Vibrate Logic
    @objc private func buzz(_ timer: Timer) {
        if vibratesWithRingtone {
            AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
        }
    }
}

Controlador de audio personalizado

Aprenda a utilizar un controlador de audio personalizado para personalizar el audio de la transmisión del editor y del suscriptor. Utilizará el controlador de audio personalizado cuando desee iniciar y detener el audio reproducir su propio archivo de audio y hacer cualquier cosa fuera del comportamiento predeterminado del chat de vídeo en directo proporcionado por el SDK.

Disponible en:
Kotlin Swift
Pasos
1
Introducción
2
Primeros pasos
3
Crear un nuevo proyecto
4
Añadir el SDK de vídeo de Vonage
5
Configuración de la autenticación
6
Visión general
7
Crear la clase de controlador de audio personalizado
8
Implementar la lógica "Reproducir tono de llamada
9
Implementar la lógica "Detener tono de llamada
10
Integración con Vonage Video Manager
11
Control de audio mediante eventos de sesión
12
Cómo funciona
13
Conclusión