Kotlin

出版社で使用する音声のキャプチャー

について BaseAudioDevice.startCapturer メソッドは、オーディオデバイスがパブリッシュするオーディオのキャプチャを開始するときに呼び出されます。このメソッドは NoiseAudioDevice このメソッドの実装は capturer スレッドが1秒後にキューで実行される:

override fun startCapturer(): Boolean {
    capturerStarted = true
    capturerHandler?.postDelayed(capturer, capturerIntervalMillis)
    return true
}

について capturer スレッドはランダムデータ(ホワイトノイズ)のサンプルを含むバッファを生成する。そして writeCaptureData のメソッドを使用する。 AudioBus オブジェクトがサンプルをオーディオバスに送ります。アプリケーションのパブリッシャーは、オーディオバスに送られたサンプルを使って、パブリッシュされたストリームのオーディオとして送信します。 パブリッシュされたストリームのオーディオとして送信します。そして、キャプチャがまだ進行中であれば(アプリがパブリッシュしていれば capturer スレッドはさらに1秒後に再び実行される:

private val capturer: Runnable = object : Runnable {
    override fun run() {
        capturerBuffer?.rewind()
        val rand = Random()
        rand.nextBytes(capturerBuffer?.array())
        audioBus.writeCaptureData(capturerBuffer, SAMPLING_RATE)
        if (capturerStarted && !audioDriverPaused) {
            capturerHandler?.postDelayed(this, capturerIntervalMillis)
        }
    }
}

について AudioDevice クラスが実装する他のメソッドも含まれている。 NoiseAudioDevice クラスのメソッドです。しかし、このサンプルではこれらのメソッドで興味を引くようなことはしていないので、このガイドには含まれていない。

カスタムオーディオドライバー

カスタムオーディオドライバーを使用して、パブリッシャーとサブスクライバーのストリームオーディオをカスタマイズする方法を説明します。カスタムオーディオドライバは、独自のオーディオファイルを再生したり、SDKが提供するライブビデオチャットのデフォルトの動作以外のことを行う場合に使用します。

以下の言語で利用可能:
Kotlin Swift
手順
1
はじめに
2
はじめに
3
新規プロジェクトの作成
4
Android SDKの追加
5
認証の設定
6
許可を求める
7
カスタムオーディオドライバの追加
8
出版社で使用する音声のキャプチャー
9
カスタムオーディオレンダラの追加
10
アプリの実行
11
結論