Swift
カスタムオーディオドライバークラスの作成
まずファイルをコピーする OTDefaultAudioDevice.switf をプロジェクトに追加します。このクラスは、オーディオ・ルーティングの重労働を処理します。
次に、次の名前の新しいSwiftファイルを作成します。 AudioDeviceRingtone.swift.を管理するロジックを追加します。 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)
}
}
}
カスタムオーディオドライバー
カスタムオーディオドライバーを使用して、パブリッシャーとサブスクライバーのストリームオーディオをカスタマイズする方法を説明します。カスタムオーディオドライバは、独自のオーディオファイルを再生したり、SDKが提供するライブビデオチャットのデフォルトの動作以外のことを行う場合に使用します。
手順
1
はじめに2
はじめに3
新規プロジェクトの作成4
Vonage Video SDKの追加5
認証の設定6
概要7
カスタムオーディオドライバークラスの作成8
着メロ再生」ロジックの実装9
着信音停止」ロジックの実装10
Vonage Video Managerとの統合11
セッションイベントによるオーディオコントロール12
仕組み13
結論