Skip to content

Releases: kdroidFilter/ComposeMediaPlayer

0.5.2

30 Mar 08:20

Choose a tag to compare

What's Changed

Full Changelog: v0.5.1...v0.5.2

0.5.1

30 Mar 02:33
49f36f9

Choose a tag to compare

What's Changed

  • Implementation of offscreen rendering using GStreamer, fixing overlapping issue for linux @kdroidFilter in #28
  • Bump co.touchlab:kermit from 2.0.4 to 2.0.5 by @dependabot in #24

Full Changelog: v0.5.0...v0.5.1

0.5.0

26 Mar 12:54
2285cc3

Choose a tag to compare

🎉 Compose Media Player v0.5.0 🎉

🚀 Exciting news!

✅ You can now remove all dependencies on JavaFX from your project.
🎥 Compose Media Player now relies on AVPlayer, eliminating the need for any other dependencies.
⚡ Additionally, CPU usage has been reduced by a factor of 2 to 3, depending on the video.

🚧 Limitations

  • ⚠️ Subtitles: Subtitle support is temporarily unavailable for macOS, iOS, and Windows.

📦 Integration

Simply update your dependency to:

dependencies {
    implementation("io.github.kdroidfilter:composemediaplayer:0.5.0")
}

No additional configuration is needed ! 🚀

Full Changelog: [Compare v0.4.0...v0.5.0](v0.4.0...v0.5.0)

💡 Share feedback or report issues on our [GitHub repository](https://github.com/kdroidFilter/ComposeMediaPlayer). Together, let's build something amazing! 💪

0.4.0

22 Mar 18:27

Choose a tag to compare

🎉 Compose Media Player v0.4.0 🎉

🚀 Exciting news! Compose Media Player continues to expand its horizons with initial iOS support. This release also use Kotlin 2.1.20.

✨ What's New

🍎 First Support for iOS:

  • ✅ Initial experimental support for video playback on iOS devices.

🚧 Experimental Features & Limitations:

  • ⚠️ Audio Levels: Audio level visualization is currently not functional on iOS.
  • ⚠️ Subtitles: Subtitle support is temporarily unavailable for iOS.
  • 🔄 Buffering Detection (isLoading): Remains in experimental mode; performance and accuracy may vary across platforms.

📦 Integration

Simply update your dependency to:

dependencies {
    implementation("io.github.kdroidfilter:composemediaplayer:0.4.0")
}

No additional configuration needed for iOS! 🚀

Full Changelog: v0.3.1...v0.4.0

We encourage feedback and contributions to help further enhance the iOS experience.

💡 Share feedback or report issues on our GitHub repository. Together, let's build something amazing! 💪

0.3.1

03 Mar 17:56
3a5de97

Choose a tag to compare

🎉 Compose Media Player v0.3.1 🎉

Release Date: March 3, 2025

✨ What's New & Improvements

  • Removal of Maven Snapshot Repository Dependency – No need to add a custom repository anymore; the library is now available on Maven Central!

📦 Integration

Simply add the following dependency to your project:

dependencies {
    implementation("com.yourpackage:compose-media-player:0.3.1")
}

No additional configuration required! 🚀

A big thanks to @vinceglb for this PR !!

Full Changelog: v0.3.0...v0.3.1

0.3.0

15 Feb 20:02
ee49daa

Choose a tag to compare

🎉 Compose Media Player v0.3.0 🎉

Release Date: February 25, 2025

🚀 The Compose Media Player keeps evolving! This release brings WebAssembly support, subtitle integration, and more exciting improvements.


🚀 New Features

  1. WebAssembly (WASM) Support:

    • 🎉 Experimental WebAssembly support is here!
    • 🔗 Live Demo:
  2. Subtitle Support:

    • 📝 Now supports subtitles! Add subtitles to your videos for a richer media experience.
    • 🌍 Platform Availability: Currently available on Web, Android, and Linux

Full Changelog: v0.2.0...v0.3.0

0.2.0

25 Jan 20:02
e95a33d

Choose a tag to compare

🎉 Compose Media Player v0.2.0 🎉

Release Date: January 25, 2025

🚀 The Compose Media Player just got better! This release brings exciting new features, enhancements, and contributions from our amazing community.


🚀 New Features

  1. Platform-Specific Enhancements:

    • Windows: Switched to MFPlayer for improved video playback performance and seamless integration with native Windows APIs.
  2. Playback Improvements:

    • 🔁 Loop Playback: New option to enable continuous looping of videos (playerState.loop).
    • ⚠️ Error Handling: Manage network or playback errors gracefully through playerState.error.
    • Loading Indicator: Beta feature to detect and display buffering states (playerState.isLoading).
    • 🎞️ Aspect Ratio Adaptation: Automatically adapts the video container to match the video’s aspect ratio, ensuring a clean and properly scaled surface within the composable.
  3. Format Compatibility:

    • Expanded support for video formats with platform-specific compatibility. Supported formats now include MP4, AVI, MKV, and more. A detailed table is available in the documentation.
  4. Progress Control:

    • Enhanced slider support for precise playback progress control.

🔧 Updated Installation Process

  • Updated dependency version to 0.2.0.
  • Streamlined JavaFX dependency inclusion for macOS users:
val osName = System.getProperty("os.name").lowercase(Locale.getDefault())
val osArch = System.getProperty("os.arch").lowercase(Locale.getDefault())

val javafxVersion = "22.0.1"

jvmMain.dependencies {
    implementation(compose.desktop.currentOs)
    if (osName.contains("mac")) {
        val macClassifier = if (osArch.contains("aarch64")) "mac-aarch64" else "mac"
        implementation("org.openjfx:javafx-base:\${javafxVersion}:\${macClassifier}")
        implementation("org.openjfx:javafx-graphics:\${javafxVersion}:\${macClassifier}")
        implementation("org.openjfx:javafx-swing:\${javafxVersion}:\${macClassifier}")
        implementation("org.openjfx:javafx-media:\${javafxVersion}:\${macClassifier}")
    }
}

🛠 What's Changed


🆕 New Contributors


Full Changelog: [v0.1.1...v0.2.0](v0.1.1...v0.2.0)

💡 Share feedback or report issues on our [GitHub repository](https://github.com/kdroidFilter/Compose-Media-Player). Together, let’s build something amazing! 💪

0.1.1

20 Jan 06:32

Choose a tag to compare

Bump JavaFx to 22.0.1

Full Changelog: v0.1.0...v0.1.1

0.1.0

20 Jan 05:48
cff23a3

Choose a tag to compare

🎉 Compose Media Player v0.1.0 🎉

Release Date: January 20, 2025

🌟 Welcome to the first release of Compose Media Player, a robust, multiplatform video player library for Compose Multiplatform apps. Here’s what it offers:

Features 🎥

  • 🌐 Multiplatform Support: Android, macOS, Windows, and Linux.
  • 📽 Video Playback: Supports local files and URLs.
  • Media Controls: Play, pause, loop toggle, volume control, and timeline slider.
  • 🎨 Customizable UI: Fully designable with Jetpack Compose.
  • 🎧 Audio Levels Visualization: Real-time audio feedback.

Installation 🚀

Add this to your build.gradle.kts:

dependencies {
    implementation("io.github.kdroidfilter:composemediaplayer:0.1.0")
}

Known Issues ⚠️

  • JavaFX Warning: A harmless warning may appear on Windows/macOS during startup:
    WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @xxxxxx'
    

Coming Soon 🚀

  • 🌐 iOS and WebAssembly (WasmJS) support.
  • 🎶 Standalone audio player.
  • 🎥 Separate audio and video streams.

💡 Share feedback or issues on our [GitHub](https://github.com/kdroidFilter/Compose-Media-Player). Let’s make this amazing together! 💪