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

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