Forum Discussion
Variable Playback Speed
We build our e-learning courses using Articulate Storyline. Recently, a number of our students have asked us if we can provide functionality of increasing the speed of the delivery, the provision that they have in Lynda courses and youtube videos.
So I was wondering there is a provision for the same in Articulate Storyline.
Thanks,
Payal
Hello Everyone!
I'm happy to share that we have released Storyline 360 version 72 (Build 3.72.29654.0).
Included in this release is a new feature where you can let learners explore at their own pace by choosing a course playback speed between 0.25x and 2x.
Now all you need to do is update Storyline 360 in your Articulate 360 desktop app on your computer. You'll find our step-by-step instructions here.
Please let us know if you have any questions by reaching out to our Support Engineers directly.
Have a great day!
- MarkRamsey-ad71Community Member
playbackSpeedPC is for the variable reference — the screen. playbackSpeed is the actually controlling variable that reaches down & changes the speed of the video. Aside from what Math suggested, you could iteratively start from the top, adding videos/slides as you go while increasing the numberOfVideos number. Other than that I could take a look...
- MartyRiesbergCommunity Member
@Math, I have continued to troubleshoot the best that I can and I notice that when I do the following query
document.getElementsByTagName("audio")I get the HTML collection but it has a length of 0. It does not seem that the JS is able to access the audio file(s)? Again, any help would be appreciated, but I cannot see what is wrong??Thanks in advance. - MathNotermans-9Community Member
If you open up the > inside the HTMLCollection you will see it has 1 item in it. Why it aint working i cannot tell like this... Alas i have a busy week ahead.... if time permits i will test and upload it to my own server.
- MarkRamsey-ad71Community Member
I might be able to help, if you want. I understand what you're doing. I'd just have to pick through it a little.
- MathNotermans-9Community Member
Its Marty Riesberg's file that isnot working on her server. If you can help her, that would be great.
- MartyRiesbergCommunity Member
I appreciate all of both of your thoughts! I am just at a point where I am spinning my wheels....
There is a link in my post above, but I have put it here as well. Any guidance would be greatly appreciated!!
- MarkRamsey-ad71Community Member
Playing around with the code & positing it to SCORMCloud, I confirmed what Marty has found — this works locally, but not being served. I know why now too, but I don't know exactly how to fix it.
Math's code is getting pointers to the audio file(s) available into an array by using getElementsByTagName. I looked at the length of this array being created & filled. Locally it returns one index, which will make his code work. However, when posted in SCORMCloud, it returns zero indexes, which means that the array doesn't get filled, and subsequently there is no index (connection) pointing to the audio file for the code to work with.
I think what is happening is that locally, Chrome is allowing a call to the "document" object to also work in the iframe child object. Or somehow the connection is being made so that the code works. When posting this code to an LMS, the LMS is being more strict in the parent-child relationship, which breaks this connection. Of course I could be totally wrong in this assumption, but I'm not wrong in that for some reason the use of getElementsByTagName is not working as it should in an served setting.
Sorry I couldn't be more helpful!
- MathNotermans-9Community Member
You are probably correct Mark. Do try a more direct selector. That might work.
In the console the audio on Marty's sample is stored at...
https://media.electricaltraining.info/Story/Example/story_content/5yHOuVRTdb6_44100_48_0.mp3
An approach that might work is looping all elements on a page... checking if one is a HTMLMediaElement, and if yes...you can work with that....
Or create a custom HTMLMediaElement then you can control it at will... - MartyRiesbergCommunity Member
Mark and Math,
I have appreciated your guidance and have continued on my journey...I have found the element that I need in the data.js file,
[{"kind":"asset","id":0,"width":0,"height":0,"duration":48532,"fileSize":291184,"url":"story_content/5yHOuVRTdb6_44100_48_0.mp3"}],I cannot, however, find a way to select it with JS. I continue to get either empty Node Lists or HTML collections.Maybe with this information you may be able to point out how to select this object? From there it seems the rest is pretty straight forward.
- MartyRiesbergCommunity Member
Thanks to both Mark and Math! I will see if I can try what you have suggested but will let you know either way. I am, as the posts suggested, a bit of an amateur at this, but love a challenge. Thanks again!
- MarkRamsey-ad71Community Member
Hi Zi,
My method works if there are single videos on a single slide at a time. I wouldn't edit the code at the point in your screen shot. You need to go to the variable panel and set the numberOfVideos variable to 2. Keep in mind that you have to total ALL videos in the course. Perhaps I should have named this variable totalNumberOfVideos, and this would have described what it needs to be in a better way — but I try to keep my variable naming length down to a dozen or so characters for the most part.
I think your screen shot has pointed out something to me that I should probably clean up. It doesn't hurt how this works, it's just some extra code that doesn't really need to be there. Thanks for that!
- LaraJohnson-c4bCommunity Member
Vote emphatically for YES here too and as urgently as possible too!
- PhilMayorSuper Hero
For videos this is already on the roadmap
- AlanBaertschiCommunity Member
That's nice that they'll be adding that functionality for videos within a course, but I think most of us are hoping for variable playback speed for the entire course.
- StacyJohnsonCommunity Member
Adding my vote to this request as well!
Hi Kevin,
You'll need to enable the video controls for your video to access the new features.
Hope this helps!