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.