Storyline and Vimeo
Dec 06, 2019
By
Izaak Pulham
Hello!
I am working on a piece of eLearning which has videos hosted on vimeo embedded and then pop up questions at certain points.
Unfortunately Storyline doesn't seem to be able to pick up when the media starts or is paused. In order to make this work I cut the video into multiple videos and added a timer trigger for jumping to the next slide.
It works but the only problem is the timer does not pick up if a user has paused the video!
If anyone has any advice on how to make this work I would be most grateful.
Thank you
Izaak Pulham
6 Replies
Hello Izaak,
Take a look at this project. It has a WebObject that uses Vimeo's javascript API to update a variable called videoStatus in storyline.
There is also a trigger that when the videoStatus is set to Ended to jump to the next slide.
Thank you, I will have a look at this and see if it works!
Hi Russell
I tried the using the trigger video status however it did not pick up the Vimeo video ending.
I have attached a copy of part of the course with different videos attached (I have been asked to not share the videos so have replaced them with 2 vimeo training videos I have created).
If there is any reason that it's not working I would appreciate any advise to make it work.
Thank you
Izaak Pulham
Hello Izaak,
You need to create your own WebObject.
Create a folder for your video.
Inside the folder you need an index.html file.
You can create this using notepad.
Add some code to the index.html file.
Then in Storyline, choose the option to insert a Web Object and choose your folder that has the index.html file inside of it.
Here is the code inside of the the index.html file.
<html>
<head>
<style>
html, body {
margin: 0 0 0 0;
overflow:hidden;
}
</style>
</head>
<body>
<iframe src="https://player.vimeo.com/video/379037673" width="100%" height="100%" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<script src="https://player.vimeo.com/api/player.js"></script>
<script>
var SLplayer = parent.GetPlayer();
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
player.on('play', function() {
SLplayer.SetVar("videoStatus","Playing");
});
player.on('pause', function() {
SLplayer.SetVar("videoStatus","Paused");
});
player.on('ended', function() {
SLplayer.SetVar("videoStatus","Ended");
});
</script>
</body>
</html>
Hi Russell
Apologies it's taken so long to come back to you, this fix worked!
Thank you for your help with this, I would not have been able to figure it out myself!
Izaak
I'm glad that you were able to get it working.
This discussion is closed. You can start a new discussion or contact Articulate Support.