Swift
Erstellen Sie die benutzerdefinierte Audiotreiberklasse
Kopieren Sie zunächst die Datei OTDefaultAudioDevice.switf zu Ihrem Projekt hinzufügen. Diese Klasse übernimmt die schwere Arbeit des Audio-Routings.
Erstellen Sie dann eine neue Swift-Datei mit dem Namen AudioDeviceRingtone.swift. Wir werden Logik hinzufügen, um eine 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)
}
}
}
Benutzerdefinierter Audiotreiber
Hier erfahren Sie, wie Sie einen benutzerdefinierten Audiotreiber verwenden, um den Audio-Stream des Herausgebers und der Teilnehmer anzupassen. Sie werden den benutzerdefinierten Audiotreiber verwenden, wenn Sie die Audio-Wiedergabe Ihrer eigenen Audiodatei starten und stoppen und alles tun möchten, was über das Standardverhalten des vom SDK bereitgestellten Live-Video-Chats hinausgeht.
Schritte
1
Einführung2
Erste Schritte3
Ein neues Projekt erstellen4
Hinzufügen des Vonage Video SDK5
Authentifizierung einrichten6
Übersicht7
Erstellen Sie die benutzerdefinierte Audiotreiberklasse8
Implementierung der "Klingelton abspielen"-Logik9
Implementierung der Logik "Klingelton anhalten10
Integration mit Vonage Video Manager11
Audio über Sitzungsereignisse steuern12
Wie es funktioniert13
Schlussfolgerung