Skip to main content

1.4.0 just went live. This one has a bunch of things you asked for in this space.

Inline chapter strip. Chapters can now show as a horizontal scroll strip under the player, with titles and start times. Click one and it seeks. The active chapter follows playback. @Wendy Perkins Shoef this is your request from the Chapter View/Scroll thread. Set it in Chapters display > Inline scroll.

Muted Preview autoplay. The video auto-plays silently and in a loop, with a "Play with sound" overlay on top. Click, Enter, or Space converts it to normal playback with sound. Nothing is tracked until the viewer actually converts, so analytics, milestones, and Resume Playback stay off during the loop. Your view counts stay honest. Pro adds captions during the loop, a preview range, overlays, and continue-from-preview-position.

Modal playback (Pro). Open any media in a lightbox from text, a button, an image, a thumbnail, or an icon.

[fluentplayer_modal id="123"]Watch now[/fluentplayer_modal]

Good for hero sections, course previews, product demos and media cards where a full inline player is too heavy.

Better Vimeo. Quality and speed menus, chapters in the editor, caption import in Pro, and privacy-enhanced mode on by default.

Single Playback. When one player starts, the others pause. On by default. Nicolai, if you want two ambient players running at once, turn off "Pause other players when one starts" in General settings.

Fixes you reported. Grid playlists are responsive on narrow screens now ( Itachi SenseiΒ , Peng Xie ). Resume Playback saves on pause, tab switch and navigation. Duplicate placements work as separate players. YouTube Shorts keep portrait framing. FluentCommunity gets the full player runtime back. Private Cloudflare Stream videos over an hour no longer cut off.

There is also a consent hook, fluent_player/defer_player, so YouTube and Vimeo stay uninitialized until your consent tool says go.

We also implemented signed updates for the pro plugin which is the most secure way to distribute premium plugins.

Full details here: https://fluentplayer.com/fluentplayer-1-4-0-muted-preview-modal-playback-inline-chapters/

More cooking πŸ™Œ

Can anyone explain to me how the FluentPlayer works for audio? I don't get it. In the docs they say "go to FluentPlayer, then "add media" and then set the file type to "audio". But there is no such option. I want to store my audio tracks on bunny.net. But when I upload a mp3 in bunny and then add the FluentPlayer to a course lesson and select bunnyCDN as source it cannot retrieve the audio from bunny.net. It doesn't find the file. When I paste the file URL into the Player it does get the file, but not the file name. So I uploaded my file now to my wordpress library - what I definitey don't want to do in the future. Thanks for all help.

Because of my error, the file had the wrong name, and the slug was taken from the wrong name of the file... So I corrected de the name of video/media, BUT I couldn't edit the slug (I know I can make the change by DB, BUT, it's preferable having possibilty to edit the slug on FlluentPlayer).

I know you use the prefix "fluent-player-BUT-I-WANT-TO-EDIT-THIS-PART-OF-SLUG"

Thanks!

P.S. I hope I explained well... LOL

Please allow editing video/media slugs

I have some videos in unusual aspect ratios, very wide.

Fluentplayer adds letterboxing, black bars above and below the video to make it conform to a standard aspect ratio.

To show you what I mean. Here is a screenshot that shows the video playing as I would like it to
(embedded using Gumlet embed code)

And below that, the same video as it appears when in a fluent player (Ambient preset).

I would like to remove those black bars in FluentPlayer. Is that possible?

Remove Letterbox Bars?

How can I keep the red button and black control panel for my video player, but have my audio players a different colour and with different button colour. I have checked in branding settings, but does not seem possible
How can I make the audio player different colours to video player?

I love the timestamp links, but hate to add every link by hand. I've created a snippet that automatically creates a timestamp link list for all available chapters

/**

  • FluentPlayer β€” Auto Chapter Links
  • Genereert automatisch [fluentplayer_timestamp] links uit de chapters van een media.
  • Gebruik: [fluentplayer_auto_chapters id="129"]
    */
    defined( 'ABSPATH' ) || exit;

add_action( 'init', function () {
if ( ! class_exists( '\FluentPlayer\App\Models\Media' ) ) {
return;
}

add_shortcode( 'fluentplayer_auto_chapters', function ( $atts ) {
    $atts = shortcode_atts( [
        'id'       => '',
        'media_id' => '',
    ], $atts );

    $mediaId = absint( $atts['id'] ?: $atts['media_id'] );
    if ( ! $mediaId ) {
        return '';
    }

    $media = \FluentPlayer\App\Models\Media::findVisible( $mediaId );
    if ( ! $media ) {
        return '';
    }

    $chapters = (array) ( $media->settings['chapters'] ?? [] );
    if ( empty( $chapters ) ) {
        return '';
    }

    usort( $chapters, fn( $a, $b ) => ( $a['startTime'] ?? 0 ) <=> ( $b['startTime'] ?? 0 ) );

    $items = '';
    foreach ( $chapters as $chapter ) {
        $title = trim( (string) ( $chapter['title'] ?? '' ) );
        if ( $title === '' ) {
            continue;
        }
        $timeLabel = fp_auto_chapters_format_time( (float) ( $chapter['startTime'] ?? 0 ) );
        $items    .= sprintf(
            '<li class="fp-auto-chapter-item"><fluentplayer-timestamp time=\'%s\' media_id=\'%d\'>%s</fluentplayer-timestamp></li>',
            esc_attr( $timeLabel ),
            $mediaId,
            wp_kses_post( $title )
        );
    }

    return $items ? '<ul class="fp-auto-chapters-list">' . $items . '</ul>' : '';
} );

} );

if ( ! function_exists( 'fp_auto_chapters_format_time' ) ) {
function fp_auto_chapters_format_time( $seconds ) {
$seconds = max( 0, (int) round( $seconds ) );
$h = (int) floor( $seconds / 3600 );
$m = (int) floor( ( $seconds % 3600 ) / 60 );
$s = $seconds % 60;
return $h > 0 ? sprintf( '%d:%02d:%02d', $h, $m, $s ) : sprintf( '%d:%02d', $m, $s );
}
}

Hi Support,

I'm using the FluentCommunity course module and have an audio lesson using the FluentPlayer. On mobile, the player extends beyond the screen width on the right side, causing horizontal overflow.

Is this a general bug, or could you please let me know how I can fix it?

Thank you!

1.00

It looks like I can not switch this on. There is no save button, and when I leave this tab, switch is off again.
Is this core or pro functionality?

1.00

I’m seeing a small issue with captions in FluentPlayer when using a Gumlet-hosted video.

When captions are turned on, the entire video appears to darken slightly while a caption is displayed. In the brief gap between one caption line ending and the next one appearing, the video returns to normal brightness. Because of that, the video has a noticeable flicker throughout playback.

This only seems to happen with captions enabled. The brightness change affects the whole video frame, not just the black background behind the caption text.

Setup is FluentPlayer inside FluentCommunity, Gumlet video source, WebVTT captions, Firefox on macOS.

Has anyone else noticed this, or is there a setting/CSS rule that could be causing the player to dim while caption cues are active?

fluent-player/vendor/composer/ in the 1.4.0 package contains two leftovers:

autoload_classmap.php 8-00-56-387 PM.php
autoload_static.php 8-00-56-388 PM.php

They are older generations of the two files beside them. The character before
PM is U+202F, a narrow no-break space, so they hide from most searches – the
packing machine seems to have a Windows or OneDrive working copy, which might be
worth a look for other files too.

Nothing loads them, so there is no visible effect. Two reasons to drop them
anyway: the stale autoload_static.php declares the same class as the real one
(ComposerStaticInite225e5c2f238500e04febbf6be1b78d1), so anything that ever
included both would fatal; and they are publicly addressable PHP inside the
plugin directory.

Hi,

This is either a feature request or a question about a possible workaround for an "issue" I'm experiencing.

I create tutorials that usually consist of many video parts. Each tutorial has its own title (which would become the name of the playlist), but some video parts across different tutorials have the same titles. For example:

  • 001 – Introduction
  • 002 – Painting Plan

These sections are included in almost every tutorial. I use this naming system for my videos and host them on Vimeo.

The problem arises when I add all the videos to the Media Library. Many videos end up having identical names, such as "001 – Introduction." When creating a playlist, I can't easily tell which "001 – Introduction" belongs to which tutorial and, therefore, which playlist.

The only workaround I can think of at the moment would be to keep a separate note for myself, for example:

Media ID #19233 – "001 – Introduction" β†’ Lighthouse tutorial

This way, when creating the Lighthouse playlist, I would know which specific video to select. However, this would become quite difficult to manage when I have over 100 tutorials.

Another option: I could use tags for each media fileβ€”that's fineβ€”but when adding media to a playlist, we can't search by tags :/

It would be great if we could create folders in the Media Library. This way, I could organize videos by tutorial, and even videos with identical titles would have their own clear location and would be much easier to identify.

For example:

Lighthouse

  • 001 – Introduction
  • 002 – Painting Plan
  • 003 – ...

Sunflower

  • 001 – Introduction
  • 002 – Painting Plan
  • 003 – ...

I think this would make organizing a large video library much easier.

Thank you!