早上好,
我尝试使用mediaelementjs视频播放器。 我的HTML:
<video id="player" width="758px" height="400px" controls="controls" autoplay preload="auto">
<source type="video/flv" src="media/demo.flv" />
</video>
Javascript:
var player = new MediaElementPlayer("#player",{
success: function (mediaElement, domObject) {
// call the play method
mediaElement.play();
}
});
我收到此错误:
Uncaught TypeError: Object #<HTMLEmbedElement> has no method 'pauseMedia'
mejs.PluginMediaElement.pausemediaelement-and-player.min.js:28
mejs.MediaElementPlayer.pausemediaelement-and-player.min.js:94
mejs.MediaElementPlayer.meReadymediaelement-and-player.min.js:85
mejs.PluginMediaElement.dispatchEventmediaelement-and-player.min.js:32
mejs.MediaPluginBridge.fireEventmediaelement-and-player.min.js:34
(anonymous function)
出了什么问题?
你能帮我吗?
似乎它称之为:
pause: function () {
if (this.pluginApi != null) {
if (this.pluginType == 'youtube') {
this.pluginApi.pauseVideo();
} else {
this.pluginApi.pauseMedia();
}
this.paused = true;
}
},
更新 我试试:
var player = new MediaElementPlayer("#player");
player.play();
我不会&#39;获得错误,但它没有播放。
答案 0 :(得分:1)
我正在使用它:
//Global player
var Player = {};
var videoDiv = document.getElementById('videoDiv');
if(url.search("youtube") >= 0){
videoDiv.innerHTML = '<video width="480" height="270" id="videoPlayer"><source type="video/youtube" src="'+url+'" /></video>';
}else{
videoDiv.innerHTML = '<video width="480" height="270" id="videoPlayer" src="'+url+'" />';
}
$('video').mediaelementplayer({
success: function(media, node, playerElement) {
Player = playerElement.media;
//console.log('mode: ' + media.pluginType);
Player.addEventListener("timeupdate", function( event ) {
if(Player.paused) return;
Editor.setTime(Math.round(Player.currentTime));
});
Player.addEventListener("seeked", function( event ) {
Editor.setTime(Math.round(Player.currentTime));
});
Player.addEventListener("progress", function( event ) {
if(Player.paused) return;
console.log('currentTime '+Player.currentTime);
console.log('progress '+Player.buffered.length);
var count = Player.buffered.length;
for(i=0;i<count;i++){
console.log('start ',Player.buffered.start(i),'end ',Player.buffered.end(i));
}
});
Player.addEventListener("load", function( event ) {
console.log(event);
});
Player.addEventListener("error", function( event ) {
console.log(event);
});
Player.addEventListener("playing", function( event ) {
console.log(event);
});
Player.addEventListener("canplay", function( event ) {
console.log(event);
});
Player.addEventListener("loadeddata", function( event ) {
console.log(event);
});
}
});
// You can access the Player obj outside the function scope, because it is global
// But only after the player has been loaded!
HTML:
<div id="videoDiv" style="width: 360px; height: 300px;" ></div>
答案 1 :(得分:0)
试试这个:
var player = new MediaElementPlayer("#player");
player.play();
或者这个:
new MediaElement('player', {
success: function (mediaElement, domObject) {
},false);
mediaElement.play();
});
答案 2 :(得分:0)
至于我从远处可以看出我认为MediaElementPlayer需要一个mediaElement.pause();
我是从mediaElementjs.com找到的:
<script> // JavaScript object for later use var player = new MediaElementPlayer('#player',/* Options */); // ... more code ... player.pause(); player.setSrc('mynewfile.mp4'); player.play(); </script>
也许尝试设置pause();并看看它给出的错误。