Swift
Criar a classe do driver de áudio personalizado
Primeiro, copie o arquivo OTDefaultAudioDevice.switf ao seu projeto. Essa classe cuida da parte mais complexa do roteamento de áudio.
Em seguida, crie um novo arquivo Swift chamado AudioDeviceRingtone.swift. Vamos adicionar uma lógica para gerenciar um AVAudioPlayer.
Copiar
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)
}
}
}
Driver de áudio personalizado
Aprenda a usar um driver de áudio personalizado para personalizar o áudio dos fluxos do emissor e do assinante. Você utilizará o driver de áudio personalizado quando quiser iniciar e interromper a reprodução de seu próprio arquivo de áudio, bem como realizar qualquer ação que não faça parte do comportamento padrão do chat de vídeo ao vivo fornecido pelo SDK.
Etapas
1
Introdução2
Introdução3
Criando um novo projeto4
Incorporando o SDK de vídeo da Vonage5
Configurando a autenticação6
Visão geral7
Criar a classe do driver de áudio personalizado8
Implementar a lógica “Reproduzir toque”9
Implementar a lógica “Parar o toque”10
Integrar com o Vonage Video Manager11
Controle o áudio por meio de eventos de sessão12
Como funciona13
Conclusão