Storyline Example: Generating Closed Captions
Jun 27, 2012
One of the complaints I've seen with Storyline's accessibility is the challenge of adding Closed Captions. There are a few ways to accomplish this in Storyline but most of the methods I've seen in practice make it difficult to separate the caption from the presentation. In other words, folks are putting text boxes on the slide to time the text.
Here's a way to add CC to your presentations that is fast and easy - with the bonus of providing a toggle control to show or hide the CC and centralized styling and position of the display from a single object.
Take a look. The file is pretty self-explanatory, it employs relatively simple concepts with decent results. It's pretty easy to manage.
176 Replies
Hi Jennifer,
I've seen this issue before where the button stops working.
Try this. Delete the CC button on the master slide layout then add a new one and apply the trigger again.
Also, in one of the Master Slide layouts you have a lowercase 't' for the slide layer name. It should be the same as the first one to work properly - showTranscript
Here's a working version attached.
Steve - thanks for your solution. Is there a way of pausing the captions when you pause the slide? Mine keep playing on.
Thanks.
Hi Dorothy -
Can you post a sample where this is happening? When the timeline is paused, these should stop playing since they are synced with the timeline.
Steve, I'm having a similar issue with multiple layer slides as Simon Ray. Attached is a dummy file that illustrates the issue. When the Caption is visible on a layer and you click the Captions button, it pauses the layer audio. I sure hate to break up all the wonderful layers in my actual course file to avoid this behavior. Any assistance you can provide will be greatly appreciated.
I totally missed this thread and was pointed to it by another developer. This is very cool Steve. Shows some real skills. Very creative solution!
you may like this approach also. Text boxes that CC btn turns on and off.........and first slide has a trigger to default text boxes to disabled by default.......and the on off of cc button is remembered via variables from slide to slide.
http://tkuhnblog.blogspot.com/2014/07/articulate-best-method-for-closed.html
This solution just made my day! Thank you so much!!!
Great, start using this in a new project right away! This is perfect if you want to toggle your subtitles. Makes it very hard otherwise indeed...
Here's how I add closed captions to my presentations.It's a simple concept. You create a layer on a master page that covers the text box and you can toggle it on and off.
Thanks, Terry! I'm still a little confused about HOW this works, since you can't see the second layer when working with your slides, But I see that it does work and I'm going to give it a try!
Hi There!
I really like this method for building in CC. I am trying to apply it to a video library I am putting together. Basically I will have a slide with an icon that when clicked pulls up a layer and plays a video.
I created a Feedback Master slide with the triggers and variable per Steve's instructions. When I preview I just cannot get that showTranscript layer to display.
I have messed with this nearly all day and am stuck. So, I am throwing it out to the community for some help.
I removed the media to shrink the file.
Hi Jason. I believe the issue is related to the fact that you are attempting to trigger a layer that is on the feedback master. My understanding is that you can't do this (anyone from Articulate, can you confirm this?).
To workaround it, copy the CC box that is on the 'show transcript' layer of the feedback master and place it on the base layer. Set it so its hidden by default and then adjust the triggers on the base layer from 'show layer' to 'change state' of the CC box.
Hello Jason and welcome to Heroes!
Stephanie is correct. You will not be able to trigger a layer on a Feedback Master Layer to show up.
What you need to do is create a new layer with your CC box and have that trigger to open/close upon clicking a button. You will also then need to adjust your variable to reference a text box within the layer.
I had added this to your slide here for reference.
Hope this helps!
You could try using an object state instead of a layer to keep it in the Feedback master. See the attached.
You could also try setting up your layer on the master slide layer and toggle using your variable.
Hey Steve, Great post. Just what I was looking for. I have a question though, I only want the captions to show up when there is text to display. the caps box from the master seems to appear on all slides once the toggle is set. Is there a way to only have the caps appear when there is text to display.
thanks,
chris
Just FYI. I did a good bit of research on creating a toggle button that can be placed on the player. I ended up adding a 'CC' button to the player that adjusts the 'CCtextShow' variable that I created. Toggling this variable allows the user to show/hide the CC Text layer that I placed on the master slide.
Here's the javascript code that I used...
var player=GetPlayer();
var cctext = player.GetVar("CCtextShow")
if(cctext == false)
{player.SetVar("CCtextShow", true)}
else
{player.SetVar("CCtextShow",false)};
Just thought the community might find it helpful. My client was TOTALLY against the idea of placing a 'CC text' button on the slide itself, so putting it on the player really worked out well.
If anybody want's to see a sample of the the player in action, just let me know!
Dan, thank you for sharing, very creative! So, did you have to add the button to the top of the player using the player menu settings in Storyline?
Thanks for sharing this Dan!
Hi Steve,
Great work. Thanks for sharing. Have you figured out a workaround for the CCs to show on other layers without having to toggle the CC Button twice?
Thanks for your time!
Steve's solution worked wonderfully. But I have the same issue with audio on multiple layers. You have to re-click the CC button to show the transcript. The transcript only displays from slide to slide if you are on the base layer. Is there anyway to have the transcript display when moving from the base layer to another layer?
I also have some slides with audio just on the base layer and learners clicking items on screen, such as a timeline, to show information on other layers. The audio continues to play from the base layer, but the transcript is no longer visible because the learner is viewing information on another layer. Is there anyway to make the transcript visible?
Hi all,
Is this still the method that others are using for creating closed-captioned Storyline projects?
Hoping to someday be able to import standard time-stamped caption files (like .SRTs). Feature request submitted!
Hey Kevin -
I hear ya. Would LOVE to see vtt or srt import. For now, this seems like one of the few options available to sync captions with the timeline.
Steve's solution has worked well for us in the past, but the text auto resizes, which has become a serious issue for us. It appears that there is nothing that can be done to fix this due to the nature of using a placeholder text variable to "feed" text into. What this means is that the text in one part of the slide will appear bigger or smaller than others.
Has anyone come up with a way to prevent this auto resizing from happening or another solution for CC where this does not happen?
P.S. Dan, your javascript idea worked great for me and it is very innovative. The idea behind it is that you open the Player window and add a "button", then have it execute Dan's javascript. This uses Steve's closed caption solution with the closed caption layer on the master slide and imitates the function of the toggle trigger used for the CC button. To make it work you have to use Dan's custom variable, "CCtextShow".
Hey David -
Couple of ways around this:
Thanks Steve. Yes, I also aim for 7 to 10 words, and on slides that contain a lot of text, I have had 20-30 placeholder objects for the CC. This is very time consuming, but it's better than the alternative of creating a closed caption layer for each slide where it becomes difficult to line up the text boxes with the audio on the base layer, because you can't see the timeline on the base layer to see where all the audio lines up.
I really do wish that Articulate would develop a solution for closed captioning as good or better than Captivate, because Captivate has a far better built in solution for this that is very easy to make use of.
This discussion is closed. You can start a new discussion or contact Articulate Support.