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が提供するライブビデオチャットのデフォルトの動作以外のことを行う場合に使用します。
手順
1
はじめに2
はじめに3
新規プロジェクトの作成4
Android SDKの追加5
認証の設定6
許可を求める7
カスタムオーディオドライバの追加8
出版社で使用する音声のキャプチャー9
カスタムオーディオレンダラの追加10
アプリの実行11
結論