[Free] Video Layout | A powerful and easy to use video player with Arrangements

Video Layout
A powerful and easy to use video player

Video layout comes with lots of blocks that are self explanatory and are easy to use within your apps to make custom video players. Video Layout enables you to create a video player in any arrangement. The extensions is fully packed with blocks that make your development process easier. Read the full documentation below.


This block is triggered when video loading or buffering is started

On Loading Ended
This block is triggered when video loading or buffering is ended.

This block is triggered when video player is ready to play the video.

This block is triggered when video playback starts or resumes.

This block is triggered when video playback is paused

This block is triggered when video is stopped using stop block and is brought to its initial position

This block is triggered when video is completed

This block is triggered when user clicks on video player.

This block returns current position of video. This block is triggered repeatedly after regular intervals when you start handler using start handler block.

This block is triggered when there is an error in playing video. For further information on “what” and “extra”, head over to :
Media Player Errors

This block is used to create the video player in a specific horizontal or vertical arrangement. You also need to provide path to video. The video can be online or local. You can find info about supported codecs below.

The blocks will play the video. If the video isn’t started yet then it will play the video from start else if the video is paused, it will automatically resume it.

The block will pause the video.

It will stop the video playback and bring the video at it its starting position.

This block will suspend the video player and will remove it from the arrangement. It will release resources associated with this video player object. It is considered good practice to call this method when you’re done using the video player.

Use this block to seek video to specified milliseconds.

Remember that 1000 milliseconds equal to 1 second.

Set the playback speed of video. Use a range of values from 0.25 to 2.

Set volume of the video. The extension also provides blocks to get Minimum and Maximum value of volume that the device supports. Use those blocks to create a range of values for to be used by this block.

This block is very useful in creating custom players. It works as a clock. It will trigger OnHandlerGotPosition block. The milliseconds that you pass to this handler block specifies the interval after which the OnHandlerGotPosition block should be triggered. The difference between using a clock and this block is that it works asynchronously without stopping the main thread. So your app works smoother and doesn’t lag.

It will stop the triggering of OnHandlerGotPosition block.

It will mute the volume.

It will unmute the volume.

Get total duration of the video.

Get the current position of the video.

Checks if video is currently playing or not.

Get current buffering percentage value.

Get Minimum volume possible for current device.

Get Maximum volume possible for current device.

Get current volume for media playback for current device.

Returns video path that you had specified.

Use this block to convert milliseconds to text format > hh:mm:ss

Set scale to fit or not. It is recommended to set Scale To Fit to true.

Use this block to enable looping.

Supported Video Formats

  • H.263
  • H.264 AVC Baseline Profile (BP)
  • H.264 AVC Main Profile (MP)
  • H.265 HEVC
  • MPEG-4 SP
  • VP8
  • VP9

For further information on supported formats visit :
Media Formats | Android Developers

Sample AIA
Watch Video On Youtube


The aia file shown in video above and in this screenshot has a fully customized video player built using buttons and sliders etc.

AIX File

Special Thanks

Special thanks to @Atom_Developer for always helping me out whenever I am stuck. Special thanks to @Ask2tag for being the beta tester. Special thanks to @Shreyash for writing such a detailed guide for extension development. And Special thanks to :kodular: for providing such an awesome platform to explore a whole new world.

You can find this documentation on : Video Layout by Dreamers’ Lab


Nice extension
But this extension already created by @Atom_Developer

It look like that you visit the same documentation site and create this one but with low price (Do not take this as hate)

Well, This doesn’t matter because efforts only matters.


Nice Extension

Screenshot And Blocks Not Appearing Please Re Upload it



The price is not low. Atom Developer has the same amount but when you pay the extra amount is deducted for taxes. In my case I don’t have access to Paypal. I can only receive international payments through transwerwise and it doesn’t have that much tax. Moreover alot of developers have made video player extensions so it doesn’t matter.


wow congratsulation!!!

but image not working!!

pls fix

1 Like

I have updated the post is it still not working???
@que You can try visiting this link until I fix it : Video Layout by Dreamers' Lab

work now thank

1 Like

Great works

1 Like

M3u8 format support Or no.

1 Like

all formats

I can control the quality of m3u8.

No controlling quality isn’t available yet and moreover this player is not optimized for online videos

can possibly control the quality of videos

can possibly control the quality of video in your Extension

@mobeen40100 You can’t control video quality

Pleas provide test apk

1 Like

Test apks for paid extensions aren’t possible due to security reasons. However I have showed its working in the video.

One question when screen rotation video restart

Yes the video will restart

How to contact you to buy the extension

1 Like