Swift
着メロ再生」ロジックの実装
Vonageオーディオ・ストリームを一時停止し、標準のiOSオーディオ・プレーヤーを開始するメソッドが必要です。
iPhoneのオーディオシステムはグローバルなシングルトンであるため、着信音とVonageストリームを同時に再生すると、オーディオアーチファクトが発生します。そのため、着信音を再生する前にVonageオーディオのキャプチャ/レンダリングを停止します。
このメソッドを AudioDeviceRingtone クラスである:
func playRingtone(from url: URL) {
// 1. Pause audio
// These methods stop the Vonage audio unit from accessing the hardware
_ = stopCapture()
_ = stopRendering()
// 2. Stop & replace existing audio player
if let player = audioPlayer {
player.stop()
audioPlayer = nil
}
// 3. Initialize the AVAudioPlayer
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer?.delegate = self
// Loop indefinitely
audioPlayer?.numberOfLoops = -1
// 4. Setup Vibration Timer
if vibratesWithRingtone {
vibrateTimer = Timer.scheduledTimer(timeInterval: vibrateFrequencySeconds,
target: self,
selector: #selector(buzz(_:)),
userInfo: nil,
repeats: true)
}
// 5. Play the audio
audioPlayer?.play()
} catch {
print("Ringtone audio player initialization failure \(error)")
audioPlayer = nil
}
}
カスタムオーディオドライバー
カスタムオーディオドライバーを使用して、パブリッシャーとサブスクライバーのストリームオーディオをカスタマイズする方法を説明します。カスタムオーディオドライバは、独自のオーディオファイルを再生したり、SDKが提供するライブビデオチャットのデフォルトの動作以外のことを行う場合に使用します。
手順
1
はじめに2
はじめに3
新規プロジェクトの作成4
Vonage Video SDKの追加5
認証の設定6
概要7
カスタムオーディオドライバークラスの作成8
着メロ再生」ロジックの実装9
着信音停止」ロジックの実装10
Vonage Video Managerとの統合11
セッションイベントによるオーディオコントロール12
仕組み13
結論