Forum Discussion

DanielJackso042's avatar
DanielJackso042
Community Member
2 months ago
Solved

Storyline Video Custom Controls Not Working

Hi, I’m looking for help with a video interaction in Storyline. Either I’m missing something, or Storyline’s behavior has changed.

I have a video on a slide that users must watch for compliance reasons. To prevent skipping, I’ve disabled the built-in video controls and instead created custom Play, Pause, and Rewind buttons. This approach has worked well in the past.

Each button has triggers:

  • Play: plays the video, hides the Play button, and shows the Pause button.
  • Pause: pauses the video, hides the Pause button, and shows the Play button.
  • Rewind: rewinds the video by 5 seconds.

The issue is with the Rewind button. When clicked, it unexpectedly resets the Play button to its Normal (visible) state, even though it should remain hidden if the video is playing. I’ve tried:

  • Changing the slide’s revisit behavior (Automatic, Resume Saved State, Reset to Initial State).
  • Adjusting media playback settings (Triggered, When Clicked, Automatically).
  • Controlling both the media and the timeline (since rewinding the media directly didn’t work).
  • Reordering triggers and using variables to manage button states.

Despite all this, the Play button keeps reappearing when Rewind is clicked, which breaks the intended user experience. I know I could leave all buttons visible, but that doesn’t suit the design, and again — this setup has worked before.

Any insights or suggestions would be greatly appreciated!

  • Nedim's avatar
    Nedim
    2 months ago

    Try using a single Play/Pause button that toggles between two states, rather than separate buttons. You can use the built-in "Selected" state to handle this:

    • The Normal state should show the Pause icon
    • The Selected state should show the Play icon

    Since "Selected" is a built-in state, Storyline will automatically toggle between these two states when the button is clicked.

    You can then use triggers to pause or resume the timeline based on the button's current state. For example:

    • When the button is clicked,
      → If state = Selected → Pause timeline
      → If state = Normal → Resume timeline

    This keeps the interaction simple and clean with only one toggle button controlling both actions. Example trigger below:

    I've also attached my version of the setup for you to review.

9 Replies

  • JessDavis1's avatar
    JessDavis1
    Community Member

    Good morning!

    Are you able to attach the file? 

     

    I'm wondering if creating a T/F variable that tracks whether the video is actively playing might help control the state of the play button? Just a thought!

    • DanielJackso042's avatar
      DanielJackso042
      Community Member

      Added a version below Jess if you want a crack at helping me fix my mistakes/issues.

  • Thanks Jess, unfortunately I can't attach a version due to our info sec policy.

    I did try a variable...one on the media and when that didn't work i did one for the actual play button, but it didn't work.

    I'm stumpted because I have done this in the past and it worked like a charm. Thanks for your advice though, its appreciated.

    • KellyAuner's avatar
      KellyAuner
      Staff

      Hi, DanielJackso042!

      I understand you can't upload the file due to security purposes. I wanted to point out that you're welcome to share it privately with our team, and we're happy to sign an NDA upon request. We delete the files once troubleshooting is complete.

      • DanielJackso042's avatar
        DanielJackso042
        Community Member

        I've added a test version below under Nedim's comment...feel free to take a look and point out any glaringly obvious mistakes I must be making.

  • Nedim's avatar
    Nedim
    Community Member

    It would be helpful if you could attach a simple, non-confidential slide with your video and triggers so others can take a closer look and help troubleshoot.

    Also, what exactly is your Rewind button doing? Is it jumping to cue points? Syncing video and timeline after manual video control can be tricky and often leads to unexpected behavior.

    That said, I already responded to your other post about rewinding media using built-in controls. Additionally, there’s a way to prevent users from seeking forward, like the functionality you see in Rise (JavaScript solution).

    • DanielJackso042's avatar
      DanielJackso042
      Community Member

      Open to feedback—please feel free to tear this apart!

      What I expected (and what has worked in previous builds) is that when you click rewind, the button states remain unchanged: play stays hidden and pause stays visible—unless you’ve paused first, in which case play becomes visible and pause hides.

      What’s happening now is that play becomes visible immediately after clicking rewind, and I can’t figure out why. I’ve implemented this before without issues, so I’m genuinely confused.

      If I’m missing something obvious, please point it out!

      • Nedim's avatar
        Nedim
        Community Member

        Try using a single Play/Pause button that toggles between two states, rather than separate buttons. You can use the built-in "Selected" state to handle this:

        • The Normal state should show the Pause icon
        • The Selected state should show the Play icon

        Since "Selected" is a built-in state, Storyline will automatically toggle between these two states when the button is clicked.

        You can then use triggers to pause or resume the timeline based on the button's current state. For example:

        • When the button is clicked,
          → If state = Selected → Pause timeline
          → If state = Normal → Resume timeline

        This keeps the interaction simple and clean with only one toggle button controlling both actions. Example trigger below:

        I've also attached my version of the setup for you to review.