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.
Pasos
1
Introducción2
Primeros pasos3
Crear un nuevo proyecto4
Añadir el SDK de vídeo de Vonage5
Configuración de la autenticación6
Visión general7
Crear la clase de controlador de audio personalizado8
Implementar la lógica "Reproducir tono de llamada9
Implementar la lógica "Detener tono de llamada10
Integración con Vonage Video Manager11
Control de audio mediante eventos de sesión12
Cómo funciona13
Conclusión