リリースノート
Android向けPlanetKit 7.0のリリースノートです。
PlanetKit 7.0
リリース日:2026-04-24
カスタムオーディオシンクの改善
従来のAudioSinkインターフェースをより簡潔なPlanetKitCustomAudioSinkクラスに置き換えました。今後は、オーディオ処理アプリケーションでカスタムオーディオシンクをより簡単に実装できます。
API
変更
-
PlanetKitCallinterface 1-to-1 call以前のバージョン PlanetKit 7.0.0 fun setAudioSink(audioSink: AudioSink?)fun setCustomAudioSink(audioSink: PlanetKitCustomAudioSink)、fun clearCustomAudioSink() -
PlanetKitConferenceinterface Group call以前のバージョン PlanetKit 7.0.0 fun setAudioSink(audioSink: AudioSink?)fun setCustomAudioSink(audioSink: PlanetKitCustomAudioSink)、fun clearCustomAudioSink()
追加
PlanetKitCustomAudioSinkclass 1-to-1 callGroup callprotected fun getFrameData(sampleRate: PlanetKitAudioSampleRate, sampleType: PlanetKitAudioSampleType, sampleCount: Int): AudioFrameprotected fun putUserAcousticEchoCancellerReference(data: AudioFrame): Boolean
PlanetKitCallinterface 1-to-1 callfun clearCustomAudioSink()
PlanetKitConferenceinterface Group callfun clearCustomAudioSink()
削除
AudioSinkclass 1-to-1 callGroup callDefaultSpeakerAudioSinkclass 1-to-1 callGroup call
サンプルコード
object CustomAudioSink : PlanetKitCustomAudioSink() {
override fun putFrameData(frame: AudioFrame) {
// Process audio frame data
val processedData = processAudioFrame(frame)
// Use acoustic echo canceller reference if needed
putUserAcousticEchoCancellerReference(frame)
}
}
// Set custom audio sink
call.setCustomAudioSink(CustomAudioSink)
// Clear when done
call.clearCustomAudioSink()
pauseMyVideo()からreasonパラメーターを削除
pauseMyVideoメソッドからreasonパラメーターを削除しました。
- ユーザーが直接ビデオを一時停止する場合、その理由は常に暗黙的に「by user」なので、
reasonパラメーターは必要ありません。 reasonパラメーターを削除することでAPIがシンプルになり、reasonにどの値を使うべきか悩む必要がなくなりました。
API
変更
-
PlanetKitCallinterface 1-to-1 call以前のバージョン PlanetKit 7.0.0 fun pauseMyVideo(reason: PlanetKitVideoPauseReason, userData: Any?, callback: PlanetKitRequestCallback?): Booleanfun pauseMyVideo(userData: Any?, callback: PlanetKitRequestCallback?): Boolean -
PlanetKitConferenceinterface Group call以前のバージョン PlanetKit 7.0.0 fun pauseMyVideo(reason: PlanetKitVideoPauseReason, userData: Any?, callback: PlanetKitRequestCallback?): Booleanfun pauseMyVideo(userData: Any?, callback: PlanetKitRequestCallback?): Boolean
CallListenerインターフェースの改善
1対1通話で使用するCallListenerインターフェースの継承構造を改善しました。
- 従来は、
VerifyCallListener、AcceptCallListener、MakeCallListenerがすべての通話関連コールバックメソッドを含む基盤CallListenerインターフェースを継承していました。これにより、特定の用途では実際に呼び出されないメソッド(無効なメソッド)まで含まれる問題が発生し、ユーザーが混乱することがありました。 - 今後は、各リスナー(
VerifyCallListener、AcceptCallListener、MakeCallListener)は自分の目的に合った有効なメソッドのみを提供します。
API
変更
-
VerifyListenerinterface 1-to-1 call以前のバージョン PlanetKit 7.0.0 interface VerifyListener: CallListenerinterface VerifyListener
削除
CallListenerinterface 1-to-1 callfun onVerified(call: PlanetKitCall, peerStartMessage: PlanetKitCallStartMessage?, peerUseResponderPreparation: Boolean)fun onWaitConnected(call: PlanetKitCall)
PlanetKitCameraManager.CameraTypeChangedListenerインターフェースの改善
PlanetKitCameraManager.CameraTypeChangedListenerは、booleanフラグの代わりにenumベースのカメラタイプ検出を使用します。
- 今後は、前面カメラと背面カメラだけでなく、外部USBカメラもサポートできます。
- カメラの切り替えに関するより詳細な情報を提供し、将来追加されるカメラタイプをサポートすることも容易になりました。
API
変更
-
PlanetKitCameraManager.CameraTypeChangedListenerinterface 1-to-1 callGroup call以前のバージョン PlanetKit 7.0.0 fun onChanged(isFrontCamera: Boolean)fun onChanged(cameraType: PlanetKitCameraType)
サンプルコード
private val cameraTypeChangedListener = PlanetKitCameraManager.CameraTypeChangedListener { cameraType ->
when (cameraType) {
PlanetKitCameraType.FRONT -> {
// Handle front camera
}
PlanetKitCameraType.BACK -> {
// Handle back camera
}
PlanetKitCameraType.EXTERNAL -> {
// Handle external USB camera
}
}
}
PlanetKit.getCameraManager().addCameraTypeChangedListener(cameraTypeChangedListener)
グループ通話で画面共有中止の理由を追加
グループ通話の画面共有イベントコールバックにdisabledReasonパラメーターを追加しました。これにより、アプリケーションでユーザーに画面共有が中止となった理由をより詳細に提供でき、さまざまな終了状況を適切に処理する際の参考にできます。
API
変更
-
ConferenceListenerinterface Group call以前のバージョン PlanetKit 7.0.0 fun onScreenShareUpdated(peer: PlanetKitConferencePeer, subgroupName: String?, screenShareState: PlanetKitScreenShareState)fun onScreenShareUpdated(peer: PlanetKitConferencePeer, subgroupName: String?, screenShareState: PlanetKitScreenShareState, disabledReason: Int?) -
PlanetKitPeerControl.PeerControlListenerinterface Group call以前のバージョン PlanetKit 7.0.0 fun onScreenShareUpdated(peer: PlanetKitConferencePeer, state: PlanetKitScreenShareState, subgroupName: String?)fun onScreenShareUpdated(peer: PlanetKitConferencePeer, state: PlanetKitScreenShareState, subgroupName: String?, disabledReason: Int?) -
PlanetKitPeerScreenShareView.PeerScreenShareViewListenerinterface Group call以前のバージョン PlanetKit 7.0.0 fun onScreenShareUpdated(peer: PlanetKitConferencePeer, state: PlanetKitScreenShareState, subgroupName: String?)fun onScreenShareUpdated(peer: PlanetKitConferencePeer, state: PlanetKitScreenShareState, subgroupName: String?, disabledReason: Int?) -
PlanetKitPeerView.PeerViewListenerinterface Group call以前のバージョン PlanetKit 7.0.0 fun onScreenShareUpdated(peer: PlanetKitConferencePeer, state: PlanetKitScreenShareState, subgroupName: String?)fun onScreenShareUpdated(peer: PlanetKitConferencePeer, state: PlanetKitScreenShareState, subgroupName: String?, disabledReason: Int?)
サンプリングレートを使用するオーディオAPIの改善
タイプの安定性を向上させるために、整数ベースのサンプリングレートを構造化されたenum方式に置き換えました。
- 新しい
PlanetKitAudioSampleRateenumは、16kHz、32kHz、48kHzのサンプリングレートを明確にサポートします。 - APIの一貫性が向上し、サンプリングレートをより明示的に処理することでエラーを回避できます。
API
変更
-
AudioFrameinterface 1-to-1 callGroup call以前のバージョン PlanetKit 7.0.0 fun getSamplingRate(): Intfun getSamplingRate(): PlanetKitAudioSampleRate -
PlanetKitHookedAudioclass 1-to-1 call以前のバージョン PlanetKit 7.0.0 val sampleRate: Intval sampleRate: PlanetKitAudioSampleRate
追加
PlanetKitAudioSampleRateenum class 1-to-1 callGroup callSAMPLE_RATE_16K(16000)SAMPLE_RATE_32K(32000)SAMPLE_RATE_48K(48000)val sampleRate: Int
使用されなくなったAPIの削除
- 1対1通話とグループ通話設定APIで廃止された
apiKeyパラメーターを削除しました。 - グループ通話で使用されなくなった複数のピアビデオおよび画面共有制御メソッドを削除しました。
API
削除
-
PlanetKitMakeCallParamdata class 1-to-1 callval apiKey: String?
-
PlanetKitMakeCallParam.Builderclass 1-to-1 callfun apiKey(apiKey: String): Builder
-
PlanetKitConferenceParamdata class Group callval apiKey: String?
-
PlanetKitConferenceParam.Builderclass Group callfun apiKey(apiKey: String): Builder
-
PlanetKitConferenceinterface Group callfun requestPeerScreenShare(peer: PlanetKitUser, subgroupName: String?, userData: Any?, callback: PlanetKitVideoRequestCallback?): Booleanfun requestPeerVideo(peer: PlanetKitUser, maxResolution: PlanetKitVideoResolution, userData: Any?, callback: PlanetKitVideoRequestCallback?): Booleanfun requestPeerVideo(peer: PlanetKitUser, maxResolution: PlanetKitVideoResolution): Booleanfun requestPeerVideo(peer: PlanetKitUser, maxResolution: PlanetKitVideoResolution, subgroupName: String?, userData: Any?, callback: PlanetKitVideoRequestCallback?): Booleanfun requestPeerVideo(peer: PlanetKitUser, maxResolution: PlanetKitVideoResolution, subgroupName: String?, userData: Any?, cbResolution: PlanetKitPeerVideoResolutionCallback?): Booleanfun requestPeerVideo(peer: PlanetKitUser, maxResolution: PlanetKitVideoResolution, userData: Any?, cbResolution: PlanetKitPeerVideoResolutionCallback?): Booleanfun stopPeerScreenShare(peer: PlanetKitUser, subgroupName: String?, userData: Any?, callback: PlanetKitVideoRequestCallback?): Booleanfun stopPeerVideo(peer: PlanetKitUser, subgroupName: String?, userData: Any?, callback: PlanetKitVideoRequestCallback?): Booleanfun stopPeerVideo(peer: PlanetKitUser, userData: Any?, callback: PlanetKitVideoRequestCallback?): Booleanfun stopPeerVideo(peer: PlanetKitUser): Boolean
一貫性のためのメディアレシーバーAPIの変更
一貫性を高めるために、分離されていたリスナーインターフェースを統合されたレシーバーインターフェースに置き換えました。
- 新しいAPIは、相手のメディアを受信することとユーザー自身のメディアを受信することをより明確に区別します。
- より良いリソース管理とライフサイクル制御のために明示的な解除メソッドを追加しました。
API
変更
-
PlanetKitCallinterface 1-to-1 call以前のバージョン PlanetKit 7.0.0 fun setOnReceiveVideoListener(listener: OnReceiveVideoListener?)fun setPeerVideoReceiver(receiver: PlanetKitPeerVideoReceiver)、fun clearPeerVideoReceiver()fun setOnReceiveAudioListener(listener: OnReceiveAudioListener?)fun setPeerAudioReceiver(receiver: PlanetKitAudioReceiver)、fun clearPeerAudioReceiver()fun setOnSentAudioListener(listener: OnSentAudioListener?)fun setMyAudioReceiver(receiver: PlanetKitAudioReceiver)、fun clearMyAudioReceiver() -
PlanetKitConferenceinterface Group call以前のバージョン PlanetKit 7.0.0 fun setOnReceiveVideoListener(peer: PlanetKitUser, listener: OnReceiveVideoListener?)fun setPeerVideoReceiver(peer: PlanetKitUser, receiver: PlanetKitPeerVideoReceiver)、fun clearPeerVideoReceiver(peer: PlanetKitUser)fun setOnReceiveAudioListener(listener: OnReceiveAudioListener?)fun setPeerAudioReceiver(receiver: PlanetKitAudioReceiver)、fun clearPeerAudioReceiver()fun setOnSentAudioListener(listener: OnSentAudioListener?)fun setMyAudioReceiver(receiver: PlanetKitAudioReceiver)、fun clearMyAudioReceiver()
追加
-
PlanetKitAudioReceiverinterface 1-to-1 callGroup callfun onAudioReceived(data: AudioFrame)
-
PlanetKitPeerVideoReceiverinterface Group callfun onPeerVideoReceived(data: PlanetKitVideoFrameData)
API誤字修正
- 複数のインターフェースとクラス全般を通してパラメーター名が一致しなかった部分を修正しました。
- クラス属性の大文字と小文字の表記を正しいキャメルケースに合わせて修正しました。
API
変更
-
VerifyListenerinterface 1-to-1 call以前のバージョン PlanetKit 7.0.0 fun onVerified(call: PlanetKitCall, peerStartMessage: PlanetKitCallStartMessage?, peerUseResponderPreparation: Boolean)fun onVerified(call: PlanetKitCall, peerCallStartMessage: PlanetKitCallStartMessage?, peerUseResponderPreparation: Boolean) -
PlanetKitCallConnectedParamdata class 1-to-1 call以前のバージョン PlanetKit 7.0.0 val peerStartMessage: PlanetKitCallStartMessage?val peerCallStartMessage: PlanetKitCallStartMessage? -
PlanetKitUserTypeContainerclass 1-to-1 callGroup call以前のバージョン PlanetKit 7.0.0 val planetkitUserType: PlanetKitUserType?val planetKitUserType: PlanetKitUserType? -
PlanetKitConferencePublicSubgroupUpdateParam.PlanetKitConferenceSubgroupUpdatedPeerdata class Group call以前のバージョン PlanetKit 7.0.0 val subscribedSubGroups: List<String>val subscribedSubgroups: List<String>val unsubscribedSubGroups: List<String>val unsubscribedSubgroups: List<String>
短いデータ転送に詳細なエラー報告機能を追加
1対1通話とグループ通話の両方で、sendShortDataに包括的な失敗理由の報告機能を追加しました。
- 新しい
PlanetKitSendShortDataFailReasonenumは、開発者がさまざまな失敗シナリオをより効果的に識別し、処理できるように具体的なエラーコードを提供します。 - 従来の汎用
PlanetKitRequestCallbackを詳細な失敗情報を含む専用PlanetKitSendShortDataResultCallbackに置き換えました。 - 短いデータ転送機能を使用する際に、この機能を利用してエラー処理、デバッグ、情報提供機能を改善できます。
API
追加
-
PlanetKitSendShortDataFailReasonenum class 1-to-1 callGroup callNONE(0)INVALID_PARAMETER(1)TOO_LONG_DATA_TYPE(2)TOO_LONG_DATA(3)TOO_FREQUENT(4)TIMEOUT(5)
-
PlanetKitSendShortDataResultCallbackinterface 1-to-1 callGroup callfun onResult(isSuccess: Boolean, failReason: PlanetKitSendShortDataFailReason, userdata: Any?)
変更
-
PlanetKitCallinterface 1-to-1 call以前のバージョン PlanetKit 7.0.0 fun sendShortData(type: String, shortData: ByteArray, userData: Any?, callback: PlanetKitRequestCallback?): Booleanfun sendShortData(type: String, shortData: ByteArray, userData: Any?, callback: PlanetKitSendShortDataResultCallback?): Boolean -
PlanetKitConferenceinterface Group call以前のバージョン PlanetKit 7.0.0 fun sendShortData(targetUser: PlanetKitUser, type: String, shortData: ByteArray, userData: Any?, callback: PlanetKitRequestCallback?): Booleanfun sendShortData(targetUser: PlanetKitUser, type: String, shortData: ByteArray, userData: Any?, callback: PlanetKitSendShortDataResultCallback?): Booleanfun sendShortData(type: String, shortData: ByteArray, userData: Any?, callback: PlanetKitRequestCallback?): Booleanfun sendShortData(type: String, shortData: ByteArray, userData: Any?, callback: PlanetKitSendShortDataResultCallback?): Boolean