(Free) agora video call extension

🧩 agora

An Extension for Kodular.
Enhanced Agora Extension with Video, Voice, Messaging, and Media Player. Developed by ali using Fast.

:memo: Specifications


:package: Package: com.agora
:floppy_disk: Size: 1.45 MB
:gear: Version: 2.0
:mobile_phone: Minimum API Level: 21
:date: Updated On: 2025-11-05T19:00:00Z
:laptop: Built & documented using: FAST v5.2.2

Events:

agora has total 89 events.

1. Initialized

Event triggered when Agora SDK is successfully initialized

Parameter Type
success boolean

2. JoinedChannel

Event triggered when successfully joined a channel

Parameter Type
channel text
uid number
elapsed number

3. LeftChannel

Event triggered when left a channel

4. TokenRenewed

Event triggered when token is renewed

Parameter Type
token text

5. UserJoined

Event triggered when a remote user joins the channel

Parameter Type
uid number
elapsed number

6. UserOffline

Event triggered when a remote user leaves the channel

Parameter Type
uid number
reason number

7. LocalAudioEnabled

Event triggered when local audio is enabled/disabled

Parameter Type
enabled boolean

8. LocalAudioMuted

Event triggered when local audio is muted/unmuted

Parameter Type
muted boolean

9. RemoteAudioMuted

Event triggered when remote audio is muted/unmuted

Parameter Type
uid number
muted boolean

10. AllRemoteAudioMuted

Event triggered when all remote audio is muted/unmuted

Parameter Type
muted boolean

11. PlaybackVolumeAdjusted

Event triggered when playback volume is adjusted

Parameter Type
volume number

12. RecordingVolumeAdjusted

Event triggered when recording volume is adjusted

Parameter Type
volume number

13. InEarMonitoringEnabled

Event triggered when in-ear monitoring is enabled/disabled

Parameter Type
enabled boolean

14. InEarMonitoringVolumeSet

Event triggered when in-ear monitoring volume is set

Parameter Type
volume number

15. LocalVideoEnabled

Event triggered when local video is enabled/disabled

Parameter Type
enabled boolean

16. LocalVideoMuted

Event triggered when local video is muted/unmuted

Parameter Type
muted boolean

17. RemoteVideoMuted

Event triggered when remote video is muted/unmuted

Parameter Type
uid number
muted boolean

18. AllRemoteVideoMuted

Event triggered when all remote video is muted/unmuted

Parameter Type
muted boolean

19. CameraSwitched

Event triggered when camera is switched

20. CameraZoomSet

Event triggered when camera zoom is set

Parameter Type
factor number

21. CameraTorchEnabled

Event triggered when camera torch is enabled/disabled

Parameter Type
enabled boolean

22. LocalVideoMirrorModeSet

Event triggered when local video mirror mode is set

Parameter Type
mode number

23. RemoteVideoAvailable

Event triggered when remote video is available

Parameter Type
uid number

24. ScreenCaptureStarted

Event triggered when screen capture is started

25. ScreenCaptureStopped

Event triggered when screen capture is stopped

26. ScreenCaptureVideoPublished

Event triggered when screen capture video is published

Parameter Type
published boolean

27. ScreenCaptureAudioPublished

Event triggered when screen capture audio is published

Parameter Type
published boolean

28. EffectPlayed

Event triggered when an audio effect is played

Parameter Type
soundId number

29. EffectStopped

Event triggered when an audio effect is stopped

Parameter Type
soundId number

30. AllEffectsStopped

Event triggered when all audio effects are stopped

31. EffectPaused

Event triggered when an audio effect is paused

Parameter Type
soundId number

32. AllEffectsPaused

Event triggered when all audio effects are paused

33. EffectResumed

Event triggered when an audio effect is resumed

Parameter Type
soundId number

34. AllEffectsResumed

Event triggered when all audio effects are resumed

35. EffectsVolumeSet

Event triggered when effects volume is set

Parameter Type
volume number

36. EffectsVolumeAdjusted

Event triggered when effects volume is adjusted

Parameter Type
volume number

37. AudioMixingStarted

Event triggered when audio mixing is started

38. AudioMixingStopped

Event triggered when audio mixing is stopped

39. AudioMixingPaused

Event triggered when audio mixing is paused

40. AudioMixingResumed

Event triggered when audio mixing is resumed

41. AudioMixingVolumeAdjusted

Event triggered when audio mixing volume is adjusted

Parameter Type
volume number

42. VoiceBeautifierPresetSet

Event triggered when voice beautifier preset is set

Parameter Type
preset number

43. VoiceConversionPresetSet

Event triggered when voice conversion preset is set

Parameter Type
preset number

44. LocalVoicePitchSet

Event triggered when local voice pitch is set

Parameter Type
pitch number

45. LocalVoiceEqualizationSet

Event triggered when local voice equalization is set

Parameter Type
bandFrequency number
bandGain number

46. LocalVoiceReverbSet

Event triggered when local voice reverb is set

Parameter Type
reverbKey number
value number

47. ChatInitialized

Event triggered when chat is initialized

Parameter Type
userId text

48. TextMessageSent

Event triggered when a text message is sent

Parameter Type
toUserId text
message text

49. ImageMessageSent

Event triggered when an image message is sent

Parameter Type
toUserId text
imagePath text

50. JoinedChatRoom

Event triggered when joined a chat room

Parameter Type
roomId text

51. LeftChatRoom

Event triggered when left a chat room

Parameter Type
roomId text

52. TextMessageReceived

Event triggered when a text message is received

Parameter Type
fromUserId text
message text

53. ImageMessageReceived

Event triggered when an image message is received

Parameter Type
fromUserId text
imagePath text

54. MediaPlayerInitialized

Event triggered when media player is initialized

55. MediaOpened

Event triggered when media is opened

Parameter Type
url text

56. MediaPlayed

Event triggered when media is played

57. MediaPaused

Event triggered when media is paused

58. MediaStopped

Event triggered when media is stopped

59. MediaSeeked

Event triggered when media is seeked

Parameter Type
position number

60. MediaPlaybackSpeedSet

Event triggered when media playback speed is set

Parameter Type
speed number

61. MediaAudioTrackSelected

Event triggered when media audio track is selected

Parameter Type
index number

62. MediaLoopCountSet

Event triggered when media loop count is set

Parameter Type
count number

63. MediaPlayoutVolumeAdjusted

Event triggered when media playout volume is adjusted

Parameter Type
volume number

64. MediaMuted

Event triggered when media is muted/unmuted

Parameter Type
muted boolean

65. LocalRenderModeSet

Event triggered when local render mode is set

Parameter Type
mode number

66. RemoteRenderModeSet

Event triggered when remote render mode is set

Parameter Type
uid number
mode number

67. VideoEncoderConfigurationSet

Event triggered when video encoder configuration is set

Parameter Type
width number
height number
frameRate number
bitrate number

68. DualStreamModeEnabled

Event triggered when dual stream mode is enabled

Parameter Type
enabled boolean

69. RemoteVideoStreamTypeSet

Event triggered when remote video stream type is set

Parameter Type
uid number
streamType number

70. WebSdkInteroperabilityEnabled

Event triggered when web SDK interoperability is enabled

Parameter Type
enabled boolean

71. LogFileSet

Event triggered when log file is set

Parameter Type
filePath text

72. LogFilterSet

Event triggered when log filter is set

Parameter Type
filter number

73. EncryptionEnabled

Event triggered when encryption is enabled

Parameter Type
enabled boolean
encryptionKey text
encryptionMode number

74. ClientRoleSet

Event triggered when client role is set

Parameter Type
role number

75. ChannelPreloaded

Event triggered when channel is preloaded

Parameter Type
channelId text

76. InstantMediaRenderingEnabled

Event triggered when instant media rendering is enabled

Parameter Type
enabled boolean

77. BeautyEffectSet

Event triggered when beauty effect is set

Parameter Type
enable boolean
lighteningLevel number
smoothnessLevel number
rednessLevel number

78. VirtualBackgroundSet

Event triggered when virtual background is set

Parameter Type
enable boolean
imagePath text

79. ColorEnhanceSet

Event triggered when color enhancement is set

Parameter Type
enable boolean
brightnessLevel number
saturationLevel number

80. LowlightEnhanceSet

Event triggered when low-light enhancement is set

Parameter Type
enable boolean
level number

81. VideoDenoiserSet

Event triggered when video denoiser is set

Parameter Type
enable boolean
level number

82. LocalVideoRotationSet

Event triggered when local video rotation is set

Parameter Type
rotation number

83. RemoteVideoRotationSet

Event triggered when remote video rotation is set

Parameter Type
uid number
rotation number

84. FaceDetectionEnabled

Event triggered when face detection is enabled

Parameter Type
enable boolean

85. RemoteSnapshotTaken

Event triggered when remote snapshot is taken

Parameter Type
uid number
filePath text

86. LocalSnapshotTaken

Event triggered when local snapshot is taken

Parameter Type
filePath text

87. WatermarkSet

Event triggered when watermark is set

Parameter Type
watermarkPath text
x number
y number
width number
height number

88. BackgroundMusicEnabled

Event triggered when background music is enabled

Parameter Type
enable boolean
filePath text

89. ErrorOccurred

Event triggered when an error occurs

Parameter Type
errorMessage text

Methods:

agora has total 84 methods.

1. Initialize

Initialize the Agora SDK with the provided App ID

2. JoinChannel

Join a channel with the specified name

3. LeaveChannel

Leave the current channel

4. RenewToken

Renew the token for secure authentication

Parameter Type
newToken text

5. EnableLocalAudio

Enable/disable local audio

Parameter Type
enable boolean

6. MuteLocalAudio

Mute/unmute local audio

Parameter Type
mute boolean

7. MuteRemoteAudio

Mute/unmute remote audio from a specific user

Parameter Type
uid number
mute boolean

8. MuteAllRemoteAudio

Mute/unmute all remote audio

Parameter Type
mute boolean

9. AdjustPlaybackVolume

Adjust local playback volume (0-400)

Parameter Type
volume number

10. AdjustRecordingVolume

Adjust recording volume (0-400)

Parameter Type
volume number

11. EnableInEarMonitoring

Enable/disable in-ear monitoring

Parameter Type
enable boolean

12. SetInEarMonitoringVolume

Set in-ear monitoring volume (0-100)

Parameter Type
volume number

13. EnableLocalVideo

Enable/disable local video

Parameter Type
enable boolean

14. MuteLocalVideo

Mute/unmute local video

Parameter Type
mute boolean

15. MuteRemoteVideo

Mute/unmute remote video from a specific user

Parameter Type
uid number
mute boolean

16. MuteAllRemoteVideo

Mute/unmute all remote video

Parameter Type
mute boolean

17. SwitchCamera

Switch camera (front/back)

18. SetCameraZoom

Set camera zoom factor

Parameter Type
factor number

19. EnableCameraTorch

Enable/disable camera torch

Parameter Type
enable boolean

20. SetLocalVideoMirrorMode

Set local video mirror mode

Parameter Type
mode number

21. StartScreenCapture

Start screen capture

22. StopScreenCapture

Stop screen capture

23. PublishScreenCaptureVideo

Publish screen capture video

Parameter Type
publish boolean

24. PublishScreenCaptureAudio

Publish screen capture audio

Parameter Type
publish boolean

25. PlayEffect

Play an audio effect

Parameter Type
soundId number
filePath text
loopCount number
pitch number
pan number
gain number
publish boolean

26. StopEffect

Stop an audio effect

Parameter Type
soundId number

27. StopAllEffects

Stop all audio effects

28. PauseEffect

Pause an audio effect

Parameter Type
soundId number

29. PauseAllEffects

Pause all audio effects

30. ResumeEffect

Resume an audio effect

Parameter Type
soundId number

31. ResumeAllEffects

Resume all audio effects

32. SetEffectsVolume

Set effects volume (0-100)

Parameter Type
volume number

33. AdjustEffectsVolume

Adjust effects volume (0-100)

Parameter Type
volume number

34. StartAudioMixing

Start audio mixing

Parameter Type
filePath text
loopback boolean
replace boolean
cycle number

35. StopAudioMixing

Stop audio mixing

36. PauseAudioMixing

Pause audio mixing

37. ResumeAudioMixing

Resume audio mixing

38. AdjustAudioMixingVolume

Adjust audio mixing volume (0-100)

Parameter Type
volume number

39. SetVoiceBeautifierPreset

Set voice beautifier preset

Parameter Type
preset number

40. SetVoiceConversionPreset

Set voice conversion preset

Parameter Type
preset number

41. SetLocalVoicePitch

Set local voice pitch (0.5-2.0)

Parameter Type
pitch number

42. SetLocalVoiceEqualization

Set local voice equalization

Parameter Type
bandFrequency number
bandGain number

43. SetLocalVoiceReverb

Set local voice reverb

Parameter Type
reverbKey number
value number

44. InitializeChat

Initialize chat functionality

Parameter Type
userId text
userToken text

45. SendTextMessage

Send a text message

Parameter Type
toUserId text
message text

46. SendImageMessage

Send an image message

Parameter Type
toUserId text
imagePath text

47. JoinChatRoom

Join a chat room

Parameter Type
roomId text

48. LeaveChatRoom

Leave a chat room

Parameter Type
roomId text

49. InitializeMediaPlayer

Initialize media player

50. OpenMedia

Open media resource

Parameter Type
url text

51. PlayMedia

Play media

52. PauseMedia

Pause media

53. StopMedia

Stop media

54. SeekMedia

Seek to position in media (milliseconds)

Parameter Type
position number

55. SetMediaPlaybackSpeed

Set media playback speed (0.5-2.0)

Parameter Type
speed number

56. SelectMediaAudioTrack

Select audio track for media

Parameter Type
index number

57. SetMediaLoopCount

Set media loop count

Parameter Type
count number

58. AdjustMediaPlayoutVolume

Adjust media playout volume (0-400)

Parameter Type
volume number

59. MuteMedia

Mute/unmute media

Parameter Type
mute boolean

60. SetLocalRenderMode

Set local video render mode

Parameter Type
mode number

61. SetRemoteRenderMode

Set remote video render mode

Parameter Type
uid number
mode number

62. SetVideoEncoderConfiguration

Set video encoder configuration

Parameter Type
width number
height number
frameRate number
bitrate number

63. EnableDualStreamMode

Enable dual stream mode

Parameter Type
enable boolean

64. SetRemoteVideoStreamType

Set remote video stream type

Parameter Type
uid number
streamType number

65. EnableWebSdkInteroperability

Enable web SDK interoperability

Parameter Type
enable boolean

66. SetLogFile

Set log file

Parameter Type
filePath text

67. SetLogFilter

Set log filter

Parameter Type
filter number

68. GetConnectionState

Get connection state

  • Return type: number

69. EnableEncryption

Enable encryption

Parameter Type
enable boolean
encryptionKey text
encryptionMode number

70. SetClientRole

Set client role

Parameter Type
role number

71. PreloadChannel

Preload channel

Parameter Type
token text
channelId text
uid number

72. EnableInstantMediaRendering

Enable instant media rendering

Parameter Type
enable boolean

73. SetBeautyEffect

Enable/disable beauty effect

Parameter Type
enable boolean
lighteningLevel number
smoothnessLevel number
rednessLevel number

74. SetVirtualBackground

Enable/disable virtual background

Parameter Type
enable boolean
imagePath text

75. SetColorEnhance

Set color enhancement

Parameter Type
enable boolean
brightnessLevel number
saturationLevel number

76. SetLowlightEnhance

Set low-light enhancement

Parameter Type
enable boolean
level number

77. SetVideoDenoiser

Set video denoiser

Parameter Type
enable boolean
level number

78. SetLocalVideoRotation

Set local video rotation

Parameter Type
rotation number

79. SetRemoteVideoRotation

Set remote video rotation

Parameter Type
uid number
rotation number

80. EnableFaceDetection

Enable/disable face detection

Parameter Type
enable boolean

81. TakeRemoteSnapshot

Take snapshot of remote video

Parameter Type
uid number
filePath text

82. TakeLocalSnapshot

Take snapshot of local video

Parameter Type
filePath text

83. SetWatermark

Set watermark

Parameter Type
watermarkPath text
x number
y number
width number
height number

84. EnableBackgroundMusic

Enable/disable background music

Parameter Type
enable boolean
filePath text

Designer:

agora has total 20 designer properties.

1. AppId

  • Input type: string

2. ChannelName

  • Input type: string

3. Token

  • Input type: string

4. EnableVideo

  • Input type: boolean
  • Default value: False

5. EnableChat

  • Input type: boolean
  • Default value: False

6. EnableMediaPlayer

  • Input type: boolean
  • Default value: False

7. AudioProfile

  • Input type: integer
  • Default value: 0

8. AudioScenario

  • Input type: integer
  • Default value: 0

9. VideoResolution

  • Input type: integer
  • Default value: 0

10. VideoFrameRate

  • Input type: integer
  • Default value: 15

11. VideoBitrate

  • Input type: integer
  • Default value: 0

12. LocalVideoContainer

  • Input type: component:com.google.appinventor.components.runtime.AndroidViewComponent

13. RemoteVideoContainer

  • Input type: component:com.google.appinventor.components.runtime.AndroidViewComponent

14. ScreenShareContainer

  • Input type: component:com.google.appinventor.components.runtime.AndroidViewComponent

15. LocalRenderMode

  • Input type: integer
  • Default value: 0

16. RemoteRenderMode

  • Input type: integer
  • Default value: 0

17. EnableBeautyEffect

  • Input type: boolean
  • Default value: False

18. BeautyEffectLevel

  • Input type: integer
  • Default value: 0

19. VirtualBackgroundPath

  • Input type: string

20. EnableVirtualBackground

  • Input type: boolean
  • Default value: False

Setters:

agora has total 20 setter properties.

1. AppId

Set your Agora App ID from the Agora Console

  • Input type: text

2. ChannelName

Set the channel name for the call

  • Input type: text

3. Token

Set the token for secure authentication (optional for testing)

  • Input type: text

4. EnableVideo

Enable/disable video functionality

  • Input type: boolean

5. EnableChat

Enable/disable chat functionality

  • Input type: boolean

6. EnableMediaPlayer

Enable/disable media player functionality

  • Input type: boolean

7. AudioProfile

Set audio profile (0: Default, 1: Standard, 2: Music)

  • Input type: number

8. AudioScenario

Set audio scenario (0: General, 1: Chat, 2: Gaming)

  • Input type: number

9. VideoResolution

Set video resolution (0: HD, 1: Full HD, 2: SD)

  • Input type: number

10. VideoFrameRate

Set video frame rate (fps)

  • Input type: number

11. VideoBitrate

Set video bitrate (0: Standard, custom value in kbps)

  • Input type: number

12. LocalVideoContainer

Set the container for local video view

  • Input type: component

13. RemoteVideoContainer

Set the container for remote video view

  • Input type: component

14. ScreenShareContainer

Set the container for screen share view

  • Input type: component

15. LocalRenderMode

Set local video render mode (0: Hidden, 1: Fit, 2: Adaptive)

  • Input type: number

16. RemoteRenderMode

Set remote video render mode (0: Hidden, 1: Fit, 2: Adaptive)

  • Input type: number

17. EnableBeautyEffect

Enable/disable beauty effect

  • Input type: boolean

18. BeautyEffectLevel

Set beauty effect level (0-100)

  • Input type: number

19. VirtualBackgroundPath

Set virtual background image path

  • Input type: text

20. EnableVirtualBackground

Enable/disable virtual background

  • Input type: boolean

Getters:

agora has total 20 getter properties.

1. AppId

Get the Agora App ID

  • Return type: text

2. ChannelName

Get the channel name

  • Return type: text

3. Token

Get the authentication token

  • Return type: text

4. EnableVideo

Check if video functionality is enabled

  • Return type: boolean

5. EnableChat

Check if chat functionality is enabled

  • Return type: boolean

6. EnableMediaPlayer

Check if media player functionality is enabled

  • Return type: boolean

7. AudioProfile

Get the current audio profile setting

  • Return type: number

8. AudioScenario

Get the current audio scenario setting

  • Return type: number

9. VideoResolution

Get the current video resolution setting

  • Return type: number

10. VideoFrameRate

Get the current video frame rate setting

  • Return type: number

11. VideoBitrate

Get the current video bitrate setting

  • Return type: number

12. LocalVideoContainer

Get the local video container

  • Return type: component

13. RemoteVideoContainer

Get the remote video container

  • Return type: component

14. ScreenShareContainer

Get the screen share container

  • Return type: component

15. LocalRenderMode

Get the local video render mode

  • Return type: number

16. RemoteRenderMode

Get the remote video render mode

  • Return type: number

17. EnableBeautyEffect

Check if beauty effect is enabled

  • Return type: boolean

18. BeautyEffectLevel

Get the beauty effect level

  • Return type: number

19. VirtualBackgroundPath

Get the virtual background image path

  • Return type: text

20. EnableVirtualBackground

Check if virtual background is enabled

  • Return type: boolean

com.agora.aix (1.4 MB)

How to Use

Basic Video/Voice Calling

  1. Add the Agora extension to your project
  2. Add two Canvas components to your screen:
  • One for local video (small preview)
  • One for remote video (main display)
  1. Set the extension properties:
  • AppId: Your Agora App ID
  • ChannelName: Name for your call channel
  • LocalVideoContainer: Your local Canvas component
  • RemoteVideoContainer: Your remote Canvas component
  1. In Blocks:
  • Call Initialize to initialize the SDK
  • Call JoinChannel to join a channel
  • Use other blocks to control audio/video functionality

Chat Functionality

  1. Set[EnableChat property to true
  2. Call InitializeChat with user credentials
  3. Use chat methods to send/receive messages

Media Player Functionality

  1. Set EnableMediaPlayer property to true
  2. Call InitializeMediaPlayer
  3. Use media player methods to control playback

Essential Blocks

Properties to Set

  • AppId: Your Agora App ID from the console
  • ChannelName: The name of the channel to join
  • LocalVideoContainer: Canvas component for local video
  • RemoteVideoContainer: Canvas component for remote video

Key Methods

  • Initialize: Initialize the Agora SDK (required first step)
  • JoinChannel: Join the specified channel
  • LeaveChannel: Leave the current channel
  • MuteLocalAudio: Mute/unmute your microphone
  • MuteLocalVideo: Mute/unmute your camera
  • SwitchCamera: Switch between front and back camera

Important Events

  • JoinedChannel: Triggered when successfully joined a channel
  • UserJoined: Triggered when a remote user joins
  • UserOffline: Triggered when a remote user leaves
  • ErrorOccurred: Triggered when an error occurs

UI Design Recommendations

Layout Structure

+-----------------------------------+
|  Remote Video View (Full Screen)  |
|                                   |
|                                   |
|                                   |
|                                   |
|  +-----+                         |
|  |Local|                         |
|  |Video|                         |
|  +-----+                         |
+-----------------------------------+
| [Mic] [Cam] [Switch] [Screen] [End]|
+-----------------------------------+

Components Needed

  1. Two Canvas components (for video display)
  2. Buttons for controls (Mute, Camera, Switch, End Call)
  3. Labels for status information

Sample Implementation

Screen Initialization Blocks

  1. When Screen.Initialize:
  • Set Agora1.AppId to “your-app-id”
  • Set Agora1.ChannelName to “test-channel”
  • Set Agora1.LocalVideoContainer to CanvasLocal
  • Set Agora1.RemoteVideoContainer to CanvasRemote
  • Call Agora1.Initialize
  1. When ButtonJoin.Click:
  • Call Agora1.JoinChannel
  1. When Agora1.JoinedChannel:
  • Show message “Joined channel successfully”

Basic Controls

  1. When ButtonMute.Click:
  • Call Agora1.MuteLocalAudio with value true
  1. When ButtonVideoMute.Click:
  • Call Agora1.MuteLocalVideo with value true
  1. When ButtonSwitchCamera.Click:
  • Call Agora1.SwitchCamera

Notes

  • This extension requires Android API level 21 or higher
  • For production use, implement proper token authentication
  • Video functionality requires camera and microphone permissions
  • Chat and Media Player features are optional and can be disabled
5 Likes

Why you failed to mention the platform used to build this extension? Your post diectly/ indirectly says it was built using FASTcli extension building platform clearly built by @JEWEL

Edit : Welldone @Adnan_Ali1, thanks for the taging the platform. If you’ve mention the platform,The developer will get encouraged and it will force him to give amazing updates

3 Likes

Thank you for your contribution to this excellent plugin, but why can’t the agora plugin see the canvases? Also, there are no blocks in the blocks where we can define channel names or canvases.



It appears in the documentation but not in the extension?

:laptop: Built using: FAST v5.2.2 @JEWEL I am facing an issue with FAST-CLI. My code is written correctly and the build process completes successfully without any errors. Moreover, all Setters, including the image-related ones, are shown properly in the FAST-CLI preview.

However, when I import the same extension into Kodular, the Setters do not appear in the block editor. This happens only after importing the extension — everything works fine during build and preview.

Please look into this issue. It seems that FAST-CLI is not generating or exporting the setter metadata properly for Kodular.

:laptop: Built using: FAST v5.2.0
com.agora.aix (1.4 MB) try this

You can use Vertical_Arrangement components for the video containers. The Agora extension will work with Vertical_Arrangement components just as well as Canvas components. Here’s how:

  1. Add two Vertical_Arrangement components to your screen:
  • One for local video (small preview)
  • One for remote video (main display)
  1. Set the extension properties:
  • Set LocalVideoContainer to your local Vertical_Arrangement component
  • Set RemoteVideoContainer to your remote Vertical_Arrangement componentThe extension doesn’t specifically require Canvas components - it works with any AndroidViewComponent, which includes Vertical_Arrangement. The video streams will be displayed within these containers properly.

Just make sure to:

  • Size the containers appropriately (local video container should be smaller, remote video container can be larger)
  • Position them as needed on your screen (typically local video in a corner, remote video as the main display)

I will test it and get back to you

Can you share aia an example?

Unfortunately I was not able to get it to work

Is the extension still not working?