Solved

Captioning for Audio files

Curious to know how everyone handles captioning on audio files. Do you use the captions feature or another method?

The problem I face is not wanting the user to see the player (i.e., allowing them to scrub ahead), and still allow them to toggle CC on/off. Creating a separate text box works, but how to then control global on/off? Change contents action?

Solution

This can be done, the setup is a little involved but it can be done!

Discussion (16)

This can be done, the setup is a little involved but it can be done!

How do you go about it? I tend to overcomplicate things, so I'm wondering if you r solution is simpler.

Just thinking off the top of my head....

  1. Global CC btn that sets _ccVar to TRUE or FALSE when clicked.

  2. Have a timed action that happens every 1s that watches for teh _ccVar for TRUE. If TRUE, set the CC text box to visible, else (the _ccVar = false) then hide CC text box.

OR

Global CC btn that sets _ccVar to TRUE or FALSE when clicked and toggles the visibility of the CC TEXT BOX.

I am not entirely sure how to make your text play along with the audio narration, but I am sure you can use a bunch of text boxes and sync'd events with your audio. This is the time consuming part IMO.

Thanks, Andrew. That's the route I was going; however, the issue I was running into was how to separate the captioning by page. The global variable to show/hide the text box is easy to set-up, but would require the text box to contain all the text of the course audio transcript, not just the content on that page. I would need a global button to show a page-specific text box, which I'm not sure how to accomplish.

Just thinking off the top of my head....

  1. Global CC btn that sets _ccVar to TRUE or FALSE when clicked.

  2. Have a timed action that happens every 1s that watches for teh _ccVar for TRUE. If TRUE, set the CC text box to visible, else (the _ccVar = false) then hide CC text box.

OR

Global CC btn that sets _ccVar to TRUE or FALSE when clicked and toggles the visibility of the CC TEXT BOX.

Why not have a single text box that exists at the Assignable Unit level and is either visible or not visible depending on the variable (that is, at the AU level have an OnPageShow that hides/shows it depending on the variable)? Create a button that changes the value of the variable, and has a second action that hides/shows the (single) caption box?

You'd have to "reserve" a bit of screen real-estate for the caption box, but that's not necessarily a deal-breaker.

@carlfink , when I was sending the message, i was thinking of having a text box on every page with the specific text for that page show up when the _varCC is T/F, but then realized that it'd probably be better to have a text box in the AU level and the modify the contents on every page with the narration text as required.

Yes. That's the idea. I'd even take it one step further because if a user clicks on CC on the previous page, they want it for the entire module and having to click the CC button on every new page become frustrating and detract from the learning experience.

In my solution, _CC is a user created variable to monitor the ON / OFF state of the _CC text box.

  • Create a global variable called _CC and set it to FALSE.

  • Create a global button to set _CC variable to TRUE when _CC equals FALSE, and to set FALSE when _CC equals TRUE.

  • Create a global Closed Caption Text Box.

  • Create a global action that runs every 0.5s to show Closed Caption Text Box when _CC equals TRUE, and hides Closed Caption Text Box when _CC equals FALSE.

On every page have an action to change the contents of the Closed Caption Text Box when page is shown.

There are many ways to do this, but that'd be my method.

Thanks, Andrew. That's the route I was going; however, the issue I was running into was how to separate the captioning by page. The global variable to show/hide the text box is easy to set-up, but would require the text box to contain all the text of the course audio transcript, not just the content on that page. I would need a global button to show a page-specific text box, which I'm not sure how to accomplish.

@clammers, as Andrew says above, you can change the contents of a text box using Actions. Just have an Action on each page replace the contents with that page's transcript (or if you're synchronizing with a video, you could use timed actions to replace it repeatedly).

So, have an action on a global CC button to Toggle Show/Hide a Caption Text Box and an action on every page that would Change Contents of the Caption Text Box? I think that would do it. Initial testing seems positive - thanks!

Which version do you use? In v21 it works when changing the content from short to long and back to short. The scrollbar appears only when required.

Can you post your content?

Adding the text to the Change Contents action should be the only way to achieve it without custom js.

The textbox has no rule for overflow, so the text is visible if it is longer than the height of the div. Do you have "Vertial scroll" activated?

Hi there,

I am also following the same approach noch in a new project.

How do you change the content efficiently on the single pages?

I mean where do you take the text from? From text files, other text boxes or do you enter the text to be shown into the action dialog directly?

Does anyone also have the issue, that the text overflows instead of showing a vertical scroll bar in case the "new" text is longer than the text box can keep?

Yes I do ... and if I enter text into the box it shows the scroll bar. However after using change content action it seems to remove the scroll bar.

? I am on v19 ... Wasn't aware of the update.

Let me run the upgrade first and continue from there :-)

Thanks for the hint!

v21 solves the issue :-) Thnx!