Swift
Créer la classe de pilote audio personnalisée
Copiez d'abord le fichier OTDefaultAudioDevice.switf à votre projet. Cette classe prend en charge les tâches lourdes du routage audio.
Créez ensuite un nouveau fichier Swift nommé AudioDeviceRingtone.swift. Nous ajouterons de la logique pour gérer un AVAudioPlayer.
Copie
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)
}
}
}
Pilote audio personnalisé
Apprenez à utiliser un pilote audio personnalisé pour personnaliser le flux audio de l'éditeur et de l'abonné. Vous utiliserez le pilote audio personnalisé lorsque vous voudrez démarrer et arrêter l'audio, lire votre propre fichier audio et faire quoi que ce soit en dehors du comportement par défaut du chat vidéo en direct fourni par le SDK.
Étapes
1
Introduction2
Pour commencer3
Création d'un nouveau projet4
Ajout du SDK vidéo de Vonage5
Configuration de l'authentification6
Vue d'ensemble7
Créer la classe de pilote audio personnalisée8
Mise en œuvre de la logique "Play Ringtone" (Jouer une sonnerie)9
Mise en œuvre de la logique d'arrêt des sonneries10
Intégration avec Vonage Video Manager11
Contrôle de l'audio via les événements de session12
Comment ça marche13
Conclusion