オーディオレシーバー
オーディオレシーバー機能を利用すると、実際のオーディオストリームに影響を与えずにオーディオデータを取得できます。アプリケーションでは、この機能を利用してオーディオデータのコピーを受け取り、さまざまな用途に使用できます。
| 対応する通話タイプ | 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通話
-
PlanetKitCallのsetMyAudioReceiver() -
PlanetKitCallのsetPeerAudioReceiver() -
PlanetKitCallのclearMyAudioReceiver() -
PlanetKitCallのclearPeerAudioReceiver()