Troubleshooting & FAQ
API and Controls for Flash are not working, but flash is there (on a local machine)
For local swf running in a browser, the bridge between Flash and JavaScript works only if the SWF file and the containing web page are in the local-trusted security sandbox. Add your development-directory to the local-trusted security sandbox. Crossdomain video/audio requests (i.e. youtube) will only work with a (local) http-server.
The size of the fallback isn't right / is to small.
jme currently only uses the computed style to detect the height/width of any media elements. Therefore you should define the height/width with CSS:
video {
width: 360px;
height: 240px;
}
Tip: You should define a default height/width for all your media elements with CSS (CSS-Reset):
video {
display: block;
/* IE6 needs overflow: hidden */
overflow: hidden;
}
video {
width: 360px;
height: 240px;
}
Does jme support IE6? Wich browsers are tested?
Yes, the jme JavaScript supports IE6, but we don't style our examples for IE6/IE7. We do test the jme-Scripts in all A Graded Browsers and the newest Version of Opera.
Firefox does not play my video (theora/vorbis in ogg container) with the native HTML 5 element on the server, but with the file://-protocol it works.
Make sure, that your server/cms is sending the correct mime-type and you are using the correct file extension.
.htaccess-Example:
AddType video/ogg .ogv AddType audio/ogg .oga AddType audio/ogg .ogg
The duration of the audio/video is NaN (not a number) and the timeline slider is disabled in Firefox / Firefox keeps loading, but does not play the audio/video.
Make sure that your server sets the content-length and content-range properties in his response-header.
Safari without Quicktime installed, don't play my video, if I'm using source-elements
Safari doesn't really support HTML5 without a plugin. Even worse: Safari without Quicktime will remove all source-elements. To workaround this issue you can add anchor-elements with the class source.
jmeEmbed will search for a.source as an alternative source, if the script does not find any source-elements. The anchor-tags serve also as a good fallback.
<audio> <source src="my-ogg.ogg" type="audio/ogg" /> <source src="my-mp3.mp3" /> <a href="my-ogg.ogg">Audio as ogg</a> <a class="source" href="my-mp3.mp3" type="audio/mpeg">Audio as mp3</a> </audio>
The poster doesn't show up or disappears in webkit- and opera- based user agents
To avoid this standard-compilant but deprecated behavior, you should use the preload attribute and set it to none.
This Attribute is supported in Safari 5.+ for Mac (not Windows), but jme will fix this for Safari on Windows and on Chrome 7-.
<video preload="none" poster="my-still.jpg" src="video.mp4"> <a class="source" href="video.mp4" type="audio/mpeg">Video as mp4</a> </audio>
Dynamically injecting an HTML string with media element markup via innerHTML or jQuery's manipulation methods doesn't work in IE.
IE isn't capable of parsing/using unknown elements like HTML5. The well knwon HTML5 shiv can't fix this with dynamic injected HTML.
JME provides a helper medthod that is called $.fixHTML5, wich fixes this issue:
$('#stage').html(
$.fixHTML5(
'<div class="box"><video src="myfile.ogg"></video></div>'
)
);
The fixHTML5 method is based on the innerShiv function by jdbartlett
Do you support google's WebM-project?
Yes, we have added support for detecting webm mime-type.
