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
Erfahren Sie, wie Sie einen benutzerdefinierten Audiotreiber verwenden können, um die Audiodaten des Herausgebers und der Abonnenten anzupassen. Sie werden den benutzerdefinierten Audiotreiber verwenden, wenn Sie das Audio starten und stoppen und Ihre eigene Audiodatei abspielen möchten. Wenn Sie etwas anderes als das SDK-Standardverhalten für Live-Videochats mit Audio machen möchten, verwenden Sie benutzerdefinierte Audiotreiber.
Verfügbar am:
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