我想在鼠标上自动播放我的视频。 谁能告诉我如何通过媒体播放器或flash播放器播放它?
PS:我可以在Flash播放器中播放WMV / ASF / MP4吗?
答案 0 :(得分:1)
我发现使用swf文件在浏览器中显示电影最简单有两个原因:易于使用javascript来控制它们,它们可以在旧浏览器中使用。 (很容易将任何电影格式转换为swf)。
此外还有瑞士法郎的简单自由,我当时非常密切地调查,并且找不到一个允许我100%控制它的闪存播放器,即使我愿意花时间研究和编程。
幸运的是,我有一个简单的JS框架,我自己在网页中嵌入和控制电影(应该适用于所有浏览器)[注意:我当时理解JS课程的时间甚至比我现在做的更少]。< / p>
//http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html
function FlashController(name)
{
this.flashMovie = this.getFlashMovieObject(name);
this.getXPos = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 0));
};
this.getYPos = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 1));
};
this.getXScale = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 2));
};
this.getYScale = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 3));
};
this.getNextFrame = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 4));
};
this.getCurrentFrame = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 4) - 1);
};
this.getTotalFrames = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 5));
};
this.getAlpha = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 6));
};
this.getVisibility = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 7));
};
this.getWidth = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 8));
};
this.getHeight = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 9));
};
this.getRotation = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 10));
};
this.getTarget = function()
{
return (this.flashMovie.TGetProperty("/", 11));
}
this.getFramesLoaded = function()
{
return (this.flashMovie.TGetPropertyAsNumber("/", 12));
};
this.getName = function()
{
return (this.flashMovie.TGetProperty("/", 13));
};
this.getDropTarget = function()
{
return (this.flashMovie.TGetProperty("/", 14));
};
this.getURL = function()
{
return (this.flashMovie.TGetProperty("/", 15));
};
this.getHighQuality = function()
{
return (this.flashMovie.TGetProperty("/", 16));
};
this.getFocusRect = function()
{
return (this.flashMovie.TGetProperty("/", 17));
};
this.getSoundBufTime = function()
{
return (this.flashMovie.TGetProperty("/", 18));
};
this.setXPos = function(value)
{
this.flashMovie.TSetProperty("/", 0, value);
};
this.setYPos = function(value)
{
this.flashMovie.TSetProperty("/", 1, value);
};
this.setXScale = function(value)
{
this.flashMovie.TSetProperty("/", 2, value);
};
this.setYScale = function(value)
{
this.flashMovie.TSetProperty("/", 3, value);
};
this.setAlpha = function(value)
{
this.flashMovie.TSetProperty("/", 6, value);
};
this.setVisibility = function(value)
{
this.flashMovie.TSetProperty("/", 7, value);
};
this.setRotation = function(value)
{
this.flashMovie.TSetProperty("/", 10, value);
};
this.setName = function(value)
{
this.flashMovie.TSetProperty("/", 13, value);
};
this.setHighQuality = function(value)
{
this.flashMovie.TSetProperty("/", 16, value);
};
this.setFocusRect = function(value)
{
this.flashMovie.TSetProperty("/", 17, value);
};
this.setSoundBufTime = function(value)
{
this.flashMovie.TSetProperty("/", 18, value);
};
this.getVariable = function(path)
{
return (this.flashMovie.GetVariable(path));
};
this.gotoFrame = function(num)
{
var loaded = getFramesLoaded();
if(num > loaded)
{
return (this.flashMovie.GoToFrame(loaded));
}
return (this.flashMovie.GoToFrame(num));
};
this.isPlaying = function()
{
return (this.flashMovie.IsPlaying());
};
this.loadMovie = function(layerNum, url)
{
return (this.flashMovie.loadMovie(layerNum, url));
};
this.panPixels = function(hPx, vPx)
{
this.flashMovie.Pan(hPx, vPx, 0);
};
this.panPercent = function(hP, vP)
{
this.flashMovie.Pan(hP, vP, 1);
};
this.getPercentLoaded = function()
{
var value = Math.round(movieControls.getFramesLoaded()/movieControls.getTotalFrames() * 100);
if(isNaN(value))
{
value = 0;
}
return (value);
};
this.play = function()
{
this.flashMovie.Play();
};
this.rewind = function()
{
this.flashMovie.Rewind();
};
this.setVariable = function(path, value)
{
this.flashMovie.setVariable(path, value);
};
this.zoomRect = function(left, top, right, bottom)
{
this.flashMovie.SetZoomRect(left, top, right, bottom);
};
this.stop = function()
{
this.flashMovie.StopPlay();
};
this.zoom = function(percent)
{
this.flashMovie.Zoom(percent);
};
this.zoomReset = function()
{
this.flashMovie.Zoom(0);
};
this.callFrame = function(frame)
{
this.flashMovie.TCallFrame("/", frame);
};
this.callLabel = function(label)
{
this.flashMovie.TCallLabel("/", label);
};
this.currentLabel = function()
{
return (this.flashMovie.TCallLabel("/"));
};
this.goToFrame = function(num)
{
this.flashMovie.TGotoFrame("/", num);
};
this.goToLabel = function(label)
{
this.flashMovie.TGotoLabel("/", label);
};
/*
//Description: Generated as the Flash movie is downloading. The argument type is integer.
this.OnProgress = function(percent)
{
};
//Description: Generated when the ready state of the control changes.
//The possible states are:
//0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete.
this.OnReadyStateChange = function(state)
{
};
//Description: Generated when an FSCommand action is performed in the movie with a URL
//and the URL starts with FSCommand :
//Use this to create a response to a frame or button action in the Flash movie.
//The argument type is string.
this.FSCommand = function(command, args)
{
};*/
this.nextFrame = function()
{
var nextFrame = getNextFrame();
if(nextFrame >= getTotalFrames())
{
nextFrame = 0;
}
goToFrame(nextFrame);
};
}
FlashController.prototype.getFlashMovieObject = function(movieName)
{
if (window.document[movieName])
{
return (window.document[movieName]);
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
{
return (document.embeds[movieName]);
}
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return (document.getElementById(movieName));
}
}
FlashController.embedVideo = function(location, name, filePath, bgColor, width, height)
{
location.innerHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '
+ 'codebase="" id="' + name + '" width=' + width + ' height=' + height + '>'
+ '<param name="movie" value="' + filePath + '">'
+ '<embed play=false swliveconnect=true name="' + name + '" '
+ 'src="' + filePath + '" quality="high" '
+ 'bgcolor=' + bgColor + ' width=' + width + ' height=' + height + ' type="application/x-shockwave-flash">'
+ '</embed></object>';
}
使用(我想,已经有一段时间了):
FlashController.embedVideo(nodeToPutItIn, "movie.swf", fullPathToSWF, backGroundColor, width, height); //Or simply hard code into the webpage.
var myMovie = new FlashController("movie.swf");
nodeToPutItIn.onMouseOver = "myMovie.play();"; //never actually done this command before so syntax might be off.
//Note: you have to wait for the movie to load if it is over a slow connection or it is big.
如果您有任何更具体的问题,请随时提出。
答案 1 :(得分:1)
我终于找到了一种方法来解决这个问题,使用流媒体播放器。
<'a' href="/PlayList/myvideo.flv" style="display: block; width: 520px; height: 330px"
id="player">
/<'a'>
<!-- this will install flowplayer inside previous A- tag. -->
<script type="text/javascript">
flowplayer("player", "flowplayer-3.2.7.swf", {
clip: {
autoPlay: false,
autoBuffering: true
},
onLoad: function () { // called when player has finished loading
this.setVolume(30); // set volume property
},
onMouseOver: function () {
this.play();
},
onMouseOut: function () {
this.stop();
}
});
</script>