byteplus_rtc 3.51.1 byteplus_rtc: ^3.51.1 copied to clipboard
This Flutter plugin provides rtc sdk native APIs for you to implement real-time audio & video communication functions in your application.
3.51.1 #
New #
captureDetectHowling
warning is added into MediaDeviceWarning, which will be triggered in the following circumstances:- Howling is detected in room modes that do not support howling suppression.
- Unsuppressed howling is detected in room modes that support howling suppression.
- From iPadOS, you can use Stage Manger to organize Apps and Windows. If your App is not in the center, you can get informed by onVideoDeviceStateChanged. Refer to Resume Audio/Video Call.
- Set a static picture as a replacement for the locally captured video stream by calling the new API setDummyCaptureImagePath.
- Switch the BlueTooth communication mode between the iOS device and earphones when RTC works on media scenarios by calling the new API setBluetoothMode.
- In multi-room scenarios, you can adjust the volume of all users in one room at once with the new API setRemoteRoomAudioPlaybackVolume.
- By calling the new API setNoAttenuationFlags, you can set a team to the mode that the teammates can talk without attenuation, despite the range audio feature being enabled.
- Supports detecting background music during the call and protecting the sound quality of the music. Please contact the technical support team if you need this feature.
- Adds onPublishPrivilegeTokenWillExpire and onSubscribePrivilegeTokenWillExpire callbacks, which will be triggered when the publishing/subscribing privilege of your Token is about to expire. After receiving the callback, you must re-acquire and update the relevant privileges of the Token to ensure normal audio/video calls. Contact the technical support team if you need this feature.
- Supports some new voice reverb types. For all the types, see VoiceReverbType.
- Supports setting the equalization and reverb effect of the locally captured audio. See the APIs below:
- Supports stopping, pausing, and resuming playback of all audio files. See the APIs below:
- Supports examining the echo-cancellation ability of local audio devices before or during an RTC call. See the APIs below:
- Adds a new feature allowing users to magnify the view of local videos and then move around. We recommend this feature as the method for local video control by considering the diversity of cameras on all the devices and the difficulties of adapting them all. See the APIs below:
- Automatically adapt the Ambient Noise Suppression(ANS) algorithm according to the business scenario selected when entering the room by calling the new API setAnsMode. You can also set the ANS mode manually during the call.
- Adjust the volume of the remote public audio for local playback by calling the new API setPublicStreamAudioPlaybackVolume.
Enhanced #
-
When getting local and remote volume information by calling enableAudioPropertiesReport, you can make the volume curve smoother with "smooth" and get information about locally mixing audio with "audio_report_mode".
-
sendSEIMessage includes a new parameter "SEICountPerFrame". When you send multiple SEI messages in 1 frame, they will be sent together in the next frame.
Changelog #
Header file change
The original header file "bytertc_common_defines.dart" is split into "bytertc_media_defines.dart" and "bytertc_rts_defines.dart", both of which you should import into your project if needed.
API change
- registerFaceDetectionObserver is replaced by enableFaceDetection and disableFaceDetection, decoupling face detection and video effects to improve usability.
- The parameter type of setScreenVideoEncoderConfig changes from "VideoEncoderConfig" to "ScreenVideoEncoderConfig".
- Video effect related APIs are moved from
RTCVideo
class toRTCVideoEffect
class:- initCVResource replaces checkVideoEffectLicense and setVideoEffectAlgoModelPath;
- enableVideoEffect and disableVideoEffect replace enableVideoEffect;
- setEffectNodes replaces setVideoEffectNodes;
- updateEffectNode replaces updateVideoEffectNode;
- enableVirtualBackground and disableVirtualBackground replace setBackgroundSticker;
- setColorFilter replaces setVideoEffectColorFilter;
- setColorFilterIntensity replaces setVideoEffectColorFilterIntensity;
- Return value type change:
- The return type of the following APIs is changed to "int", the values of which are listed in ReturnStatus:
updateToken
,setRemoteVideoConfig
,subscribeStream
,unsubscribeStream
,subscribeScreen
,unsubscribeScreen
,setVoiceChangerType
,setVoiceReverbType
; - The return type of the following APIs is changed to "void":
setMultiDeviceAVSync
,setLocalVideoMirrorType
,setVideoRotationMode
,setAudioRoute
,enableSimulcastMode
,setPublishFallbackOption
,setSubscribeFallbackOption
.
- The return type of the following APIs is changed to "int", the values of which are listed in ReturnStatus:
getSdkVersion
is changed to getSDKVersion.- The behavior of setAudioRoute changed. You can use devices with media mode only as the audio route device.
Callback change
- onPublicStreamSEIMessageReceived includes a new parameter "sourceType".
- The
RTCRangeAudioObserver
callback class is deprecated. Before this version, When you use range audio with manual audio subscription, you must set the attenuation index based on the return value of "RTCRangeAudioObserver". From this version, you can set the attenuation model by calling setAttenuationModel. - onRemoteAudioStateChanged and onRemoteVideoStateChanged are deprecated with no alternatives.
- onLocalAudioStateChanged and onLocalVideoStateChanged are replaced by onAudioDeviceStateChanged and onVideoDeviceStateChanged.
Class/Enum change
- FaceDetectionResult includes a new member "frameTimestampUs".
- UserMessageSendResult includes a new value "exceedQPS".
- RoomMessageSendResult includes a new value "exceedQPS".
- The type of the variables in Position representing spatial coordinates in spatial audio functions changes from "int" to "double".
- The configuration of the default mode "communication" in RoomProfile changes from corresponding to "chatRoom" to corresponding to "meeting".
- The type of the
errorCode
in onPushPublicStreamResult and onPlayPublicStreamResult changes from "int" to PublicStreamErrorCode. - The value "unknown" in AudioRoute is changed to "routeDefault".
- AudioScenario The mapping of audio routing and publish-subscribe state to volume type has changed. See the documentation of the data structure for the latest mapping.
3.45.2 #
New #
- AudioScenario includes "highQualityChat" mode.
- Get the actual mixing length of the audio file by calling the new API getAudioMixingPlaybackDuration, regardless of pausing, jumping, changing speed, and stuck.
- With the new pair of APIs subscribeAllStreams and unsubscribeAllStreams, you can subscribe or unsubscribe to all users by one call. We recommend using them in the scenario that requires a fixed number of publishers.
- Set the default volume during audio mixing on mobile with the new API setAllAudioMixingVolume.
- Get the snapshot of the local/remote screen on the client with the new APIS takeLocalSnapshot and takeRemoteSnapshot.
- NetworkQuality includes a new value "down" which can reflect the disconnection status of the local network.
3.45.1 #
- Fixed a few bugs.
3.44.1 #
- Flutter for BytePlusRTC SDK release.