本文にスキップする
Version: 7.0

オーディオレシーバー

オーディオレシーバー機能を利用すると、実際のオーディオストリームに影響を与えずにオーディオデータを取得できます。アプリケーションでは、この機能を利用してオーディオデータのコピーを受け取り、さまざまな用途に使用できます。

対応する通話タイプSDKの最低バージョン
1対1通話、グループ通話(カンファレンス)PlanetKit 7.0
Note

オーディオレシーバーを通じて取得したオーディオデータは、VQE制御が適用される前のオーディオストリームです。

活用事例

オーディオレシーバーの主な活用例は次のとおりです。

  • オーディオ分析と転写(音声→テキスト変換)
  • 音声アクティビティ検出(VAD)
  • オーディオ品質のモニタリング
  • 通話分析と指標の収集
  • リアルタイムのオーディオ可視化とレベルメータリング
  • 通話オーディオをファイルとして録音

実装段階

オーディオレシーバー機能を実装するには、次の手順に従います。

オーディオレシーバーの実装

コールバックを介してオーディオデータを受信するようにPlanetKitAudioReceiverインタフェースを実装するクラスを作成します。

import com.linecorp.planetkit.session.PlanetKitAudioReceiver
import com.linecorp.planetkit.audio.AudioFrame

class AudioDataReceiver : PlanetKitAudioReceiver {
override fun onAudioReceived(data: AudioFrame) {
// Access audio data properties
val buffer = data.getBuffer() // ByteBuffer: audio data
val sampleType = data.getSampleType() // PlanetKitAudioSampleType: audio sample type
val size = data.getSize() // Long: size in bytes
val samplingRate = data.getSamplingRate() // PlanetKitAudioSampleRate: audio sample rate
val sampleCount = data.getSampleCount() // Int: number of samples
val timestamp = data.getTimestamp() // Long: timestamp in nanoseconds

// Use the audio data for your use case

// Release the frame when done
data.release()
}
}

オーディオレシーバーの設定

1対1通話またはグループ通話からオーディオデータを受信するには、レシーバーを登録します。

// Create receiver instance
val myAudioReceiver = AudioDataReceiver()
val peerAudioReceiver = AudioDataReceiver()

// For 1-to-1 call
call.setMyAudioReceiver(myAudioReceiver) // Local user's audio
call.setPeerAudioReceiver(peerAudioReceiver) // Remote peer's audio

// For group call
conference.setMyAudioReceiver(myAudioReceiver) // Local user's audio
conference.setPeerAudioReceiver(peerAudioReceiver) // Mixed audio from all peers

オーディオレシーバーの解除

オーディオデータの受信を停止してリソースを整理するには、レシーバーの登録を解除します。

// For 1-to-1 call
call.clearMyAudioReceiver()
call.clearPeerAudioReceiver()

// For group call
conference.clearMyAudioReceiver()
conference.clearPeerAudioReceiver()

関連API

オーディオレシーバー機能に関連するAPIは以下のとおりです。

共通

1対1通話

グループ通話