[FREE] Media3Player v1.6 Stable — AndroidX Media3 Player Extension

Media3Player v1.6 Stable

Media3Player is a free non-visible Kodular extension built with AndroidX Media3 / ExoPlayer.

It is designed for playing media URLs and streams that the app developer is authorized to use.

Main features

  • HLS/M3U8 and other formats supported by AndroidX Media3
  • Single source and multiple-source playlists
  • User-Agent, Referer, Origin and Cookie headers
  • Play, pause, resume, stop, seek and volume controls
  • Auto retry with configurable retry count and delay
  • Auto next, playlist loop and fallback source
  • Fullscreen immersive mode
  • Android TV support
  • Playback state, duration and buffered-position information
  • Optional log file for troubleshooting
  • ResolveAndPlay for supported and authorized web-player URLs

Basic usage

  1. Import the AIX file into Kodular.
  2. Add Media3Player and a visible Arrangement to the screen.
  3. Call SetContainer and provide the Arrangement.
  4. Call CreatePlayer.
  5. Call SetSource with a media URL you are authorized to use.
  6. Call Play.
  7. Call ReleasePlayer when the screen is closed.

For a playlist, use SetSources or AddSource, then enable AutoNextEnabled if required.

Request headers can be configured before playback with SetUserAgent, SetReferer, SetOrigin and SetCookie.

Blocks

Important limitations

  • No TV channels, IPTV playlists or copyrighted media are included.
  • Users must have permission to use every URL, stream, header, token and item of content.
  • This extension does not bypass DRM or access-control systems.
  • Playback is not guaranteed for every URL, codec, server or device.
  • Some codecs depend on the hardware decoder available on the Android device.
  • Third-party websites and player-page formats may change without notice.

Version information

  • Extension: Media3Player v1.6 Stable
  • Internal version: 21
  • Package: com.tummeng.media3player
  • Engine: AndroidX Media3 1.7.1
  • License: Freeware
  • Price: Free — optional tips are never required

Download

Free download:

The download package contains the AIX file, bilingual license, README, support policy and SHA-256 checksums.

Please download the AIX only from the official Tummeng page. Redistribution, resale and mirroring of the AIX file are not permitted.

The price is $0. No tip, payment card or purchase is required.

3 Likes

Thank you for this wonderful plugin contribution. Could I request a professional player AIA file? The block structure is strange.

Was about to say that :wink:

Also buy me coffee comes first before using it? It’s like it’s not free, You have to pay and get. It’s paid then​:joy:

2 Likes

Thank you for your feedback and kind words.

A complete professional player AIA is not included in the current download. I may prepare a basic starter/demo AIA in the future, but I cannot promise a release date yet.

For basic playback, the recommended order is:

  1. SetContainer
  2. CreatePlayer
  3. SetSource
  4. Play
  5. ReleasePlayer when the screen closes

Could you please explain which part of the block structure seems strange? A screenshot of the relevant blocks and the expected behavior would be helpful. Please remove any private URLs, tokens, cookies, or authorization headers before posting it.

Thank you both for the feedback. I understand the confusion.

Media3Player is 100% free. The item price on Buy Me a Coffee is set to $0, and no tip or card payment is required to download it. “Buy Me a Coffee” is only the name of the platform I use for the official download page.

Please open the download page, keep the amount at $0, and continue to the download. If the page requires a payment or card from you, please share a screenshot because that would be an unintended configuration issue.

Regarding the blocks: the image in the post is a complete API/block-name reference generated from the extension metadata, not a screenshot of the actual Kodular blocks. I understand that this may look unusual. After importing the AIX, the blocks appear in the normal Kodular block format.

I will consider adding clearer real-block screenshots or a basic demo project in a future update. Thank you for pointing this out.

1 Like

Or you can also donate something, which is great support for the developer :partying_face:


It works correctly, and on the next page it will be available for download (no contact information required, thanks to Joe90 for the clarification)

2 Likes

Ahem, you can just enter (no name required) any “valid” (looks like an email address) email address

2 Likes

Media3Player v1.7 RC5 — 4K/HDR Surface Preview

A new free RC/Preview release is now available for testing.

What’s new

  • Texture or Surface video output
  • Surface output path for 4K/HDR testing
  • Buffer presets: Default, Fast, Balanced and Stable
  • Custom buffer configuration
  • Force HLS parsing with SetSourceAsHls and AddHlsSource
  • 63 methods, 11 events and 4 properties

Important notes

This is an RC/Preview release. Media3Player v1.6 remains the recommended Stable version.

4K/HDR playback depends on the device, codec/profile, hardware decoder, display, Android version, server and available bandwidth. Surface mode cannot add capabilities that the device does not support.

The extension contains no TV channels, IPTV playlists or copyrighted media.

Price: $0 — no tip, payment card or purchase is required.

:point_right: Download Media3Player v1.7 RC5 for free

:page_facing_up: Release announcement and details

Feedback and test results are welcome, especially the device model, Android version, media format and video output mode used.

Hello Tum_Meng,

I’m using Media3Player v1.6 Stable in a Kodular project, and I’m facing a critical D8/Guava compatibility problem when exporting the APK.

Problem

Kodular fails to build the APK with:

Build failed! [RunD8] ERROR: Your project contains extensions that conflict with internal libraries.

Classes and conflicting external packages:

“com.google.common.annotations.Beta”: [“com.tummeng.media3player”]

d8 failed.

What I tried

I added -d8fix to the app Version Name.

The APK then built successfully, but the app crashed at runtime with:

java.lang.NoSuchMethodError:

No virtual method buildOrThrow()

Lcom/google/common/collect/ImmutableMap;

This appears to be a Guava version mismatch.

I also inspected the AIX file, and it appears that Guava classes (com.google.common.*) are included inside the extension.

My questions

Does Media3Player have a version that is compatible with Kodular’s internal Guava without using -d8fix?

Does Media3Player v1.7 RC5 fix this Guava/D8 conflict?

Is there a recommended workaround for Kodular?

Would it be possible to provide a Kodular-compatible build that does not package conflicting Guava classes, if Kodular already provides the required Guava library?

Environment

Platform: Kodular

Extension: Media3Player v1.6 Stable

Package: com.tummeng.media3player

Build error: Guava/D8 conflict

Runtime error after -d8fix: NoSuchMethodError: buildOrThrow()

I would really appreciate your advice on the correct version or solution.

Thank you for developing Media3Player.

Best regards, Ali

Hi,

Thank you for the detailed report. Your diagnosis is correct — this is a Guava version conflict between Kodular and Media3Player.

The important point is that adding -d8fix only allows the APK to pass the D8 build stage. It does not resolve the Guava version conflict at runtime. The NoSuchMethodError for:

ImmutableMap.Builder.buildOrThrow()

is a typical symptom of an older Guava version being loaded by Kodular.

I have also investigated this issue on my side. Media3Player uses Guava internally through the Media3 dependencies, and simply packaging the newer Guava classes inside the extension can cause a D8 conflict with Kodular’s internal Guava. Removing the conflict blindly is also not safe, because Media3 may then run against Kodular’s older Guava and fail at runtime.

Regarding your questions:

  1. Media3Player v1.6 Stable

Unfortunately, v1.6 Stable is not fully compatible with Kodular’s current Guava environment in this situation. I would not recommend relying on -d8fix as a permanent solution.

  1. Media3Player v1.7 RC5

RC5 contains improvements and dependency changes, but I cannot currently guarantee that it completely resolves the Kodular Guava conflict. The problem is partly caused by how Kodular packages and loads its internal libraries, rather than only by Media3Player itself.

  1. Recommended workaround

For now, I recommend testing Media3Player in an exported APK and avoiding -d8fix as a runtime compatibility solution.

If your project requires Kodular Companion testing, this Guava conflict can still occur even when the extension itself is correctly packaged.

  1. Kodular-compatible build

Yes, this is something I am investigating.

The proper solution would be to build a version of Media3Player where the required Guava dependencies are handled in a way that does not conflict with Kodular’s internal Guava — for example, by eliminating unnecessary bundled Guava classes or using dependency isolation/shading where appropriate.

However, simply removing com.google.common.* from the AIX is not sufficient, because some Media3 components may require APIs that are not present in Kodular’s bundled Guava version.

So I would rather provide a properly tested Kodular-compatible build than recommend manually deleting Guava classes from the AIX.

If you would like, I can also provide you with a test build once I have a version specifically verified against Kodular’s current build environment.

Thank you again for reporting this. Your error log was very helpful in confirming the Guava compatibility issue.

Best regards,

Tummeng
Media3Player Developer

Thank you very much for the detailed explanation.
Yes, I would be very interested in testing a verified Kodular-compatible version of Media3Player.
Please let me know when the experimental/updated version is available. I can test it in my Cinevo project and provide you with the complete build and runtime results.
Thank you again for working on this compatibility issue.

[PAID] Media3Player v1.8 — DASH + ClearKey

Media3Player v1.8 is now available for Kodular, built with AndroidX Media3 / ExoPlayer.

This release adds MPEG-DASH and ClearKey DRM support, along with improvements to video sizing and device rotation.

What’s new

  • MPEG-DASH playback with "type": "dash"
  • ClearKey DRM support using your own valid key ID and key
  • SetSourceWithDrm — configure the stream type and DRM credentials in one call
  • SetSourceFromJson — play a selected JSON playlist item with its URL, headers and DRM settings
  • ClearHttpHeaders — clear HTTP headers without clearing DRM credentials
  • Improved FIT sizing to display the complete picture without cropping
  • Automatic aspect-ratio updates when rotating the device or resizing the player
  • Compatibility with legacy "surface" and "texture" block values, which now use FIT sizing

Existing HLS playback commands remain available, including SetSourceAsHls and AddHlsSource .

Using DASH + ClearKey

After calling SetContainer and CreatePlayer , use SetSourceWithDrm with:

  • url : your authorized DASH URL
  • type : "dash"
  • drmType : "clearkey"
  • keyId : your valid hexadecimal key ID
  • key : your valid hexadecimal key

This command prepares and starts playback automatically.

Adding DRM fields to a playlist alone is not enough—your blocks must pass those values to the player.

Pricing

Media3Player v1.8: $9 — one-time purchase.

Media3Player v1.7 RC5 remains free. The paid price applies to v1.8.

:backhand_index_pointing_right: Purchase Media3Player v1.8 on Buy Me a Coffee:

Important notes

Legacy "surface" and "texture" values preserve compatibility with older blocks; they do not switch the video renderer.

The extension includes no TV channels, IPTV playlists, media or DRM keys. Users must have permission to access their content and use the supplied keys. DRM or access-control circumvention is not supported.

Playback compatibility depends on the device, Android version, codecs, hardware decoder, server and available bandwidth.

The Guava/D8 compatibility issue discussed earlier in this thread has not been verified as resolved in this release.

Version information

  • Package: com.tummeng.media3player
  • Internal version: 27
  • Engine: AndroidX Media3 1.7.1

Feedback and test results are welcome. Please include your device model, Android version, media format and any player error message. Please remove private URLs, tokens and DRM keys before sharing screenshots or logs.

Thank you for supporting the development of Media3Player!