Skip to main content
Participant
March 14, 2014
Answered

Bug that means HTML5 event video won't play if using a skin

  • March 14, 2014
  • 2 replies
  • 730 views

There is a bug, easily reproducable, that prevents HTML5 video working under certain circumstances.  I am hoping that someone can think of a workaround as I can't tell my client that Captivate doesn't support video!  To see the problem:

1) Start a new Captivate 7 project

2) Add an event video to the first page

3) Add a skin to the video - I used clearSkin3 but I don't think it makes any difference

4) Go to the Project -> Skin Editor

5) Untick the playback contol

6) Either publish for HTML5 or Preview HTML5 in the browser

You'll see the video doesn't play - the reason is that Captivate JavaScript code throws an exception: Object doesn't support property or method 'modifyAlternativeAccessibleText' - and then doesn't play or show the playback controls.

If I set the video to have no skin (so plays with no controls at all) then it works, so it is not an encoding issue or anything like that.

If anyone can think of a workaround where I can play event video in HTML5 without the captivate project playback control (but with the video one) I would be very, very grateful!

Thanks

This topic has been closed for replies.
Correct answer TLCMediaDesign

cp.modifyAlternativeAccessibleText() is a function that is not in the project files. First I commented out the function call (8 places) and my video worked, the I uncommented and added the function to the CPM.js file and it worked.

Add this to the bottom of the CPM.js file and magic happens:

cp.modifyAlternativeAccessibleText = function () {

    //this is an empty function

};

I might add that 13,029 lines of code for a screen with a video on it is a little like overkill. Considering how you could achieve the same thing in an actual HTML5 page in a few lines inside of the body tag. With zero javascript.

It actually took 349 characters (562,249 in the CPM.js) total to do the exact same thing with the same captivate background. Excluding the video file which is the same, my file was 5k, CP's was 7.08 MB.

2 replies

TLCMediaDesign
TLCMediaDesignCorrect answer
Inspiring
March 14, 2014

cp.modifyAlternativeAccessibleText() is a function that is not in the project files. First I commented out the function call (8 places) and my video worked, the I uncommented and added the function to the CPM.js file and it worked.

Add this to the bottom of the CPM.js file and magic happens:

cp.modifyAlternativeAccessibleText = function () {

    //this is an empty function

};

I might add that 13,029 lines of code for a screen with a video on it is a little like overkill. Considering how you could achieve the same thing in an actual HTML5 page in a few lines inside of the body tag. With zero javascript.

It actually took 349 characters (562,249 in the CPM.js) total to do the exact same thing with the same captivate background. Excluding the video file which is the same, my file was 5k, CP's was 7.08 MB.

Participant
March 14, 2014

Thanks tlc that's a good idea. I will try that later but I can see that will be a good workaround.

Thanks

RajeevAdobe
Adobe Employee
Adobe Employee
March 14, 2014

Hello,

Welcome to Adobe Forums.

I have tried the same steps and the video worked at my end. Please let me know whether you are testing the videos from your computer or from any webserver.

Regards,

Rajeev Saini.

Participant
March 14, 2014

Hello Rajeev,

I tested both on my computer (using the preview HTML5 output) and on a server.  I have currently got both a version with a skin and one without on the server.  In IE the video freezes on the first frame, in Firefox it shows a loading symbol - when viewing the video with a skin.  Without a skin they both work fine.

I have built it on Windows 7 using Captivate version 7.0.1.237 if that makes a difference.

I have just tested on Safari (which I didn't do before) on the Mac it doesn't work (it freezes the same way as IE) however, on the iPad it does work.

So, maybe that's the solution - it doesn't work on desktops but it will work on iPad.  It would be better if it worked on HTML5 as such, but iPad is most important so maybe that's fine.  I always test on the machine I build on first and then other devices once it works there - I never thought to test what seemed to be broken on the iPad. 

Did you just test on the device, or did it work on your computer when you tried it?

Thanks

TLCMediaDesign
Inspiring
March 14, 2014

Mine has the bug also. Same JavaScript error.