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が提供するライブビデオチャットのデフォルトの動作以外のことを行う場合に使用します。

対応機種:
Kotlin Swift
手順
1
はじめに
2
はじめに
3
新規プロジェクトの作成
4
Vonage Video SDKの追加
5
認証の設定
6
概要
7
カスタムオーディオドライバークラスの作成
8
着メロ再生」ロジックの実装
9
着信音停止」ロジックの実装
10
Vonage Video Managerとの統合
11
セッションイベントによるオーディオコントロール
12
仕組み
13
結論