我想在鼠標上自動播放我的視頻。 任何人都可以告訴我如何通過媒體播放器或Flash播放器進行播放嗎?無論如何,我可以把鼠標懸停在電影剪輯上來自動播放我的電影嗎?
PS:我可以在Flash播放器中播放WMV/ASF/MP4嗎?
我想在鼠標上自動播放我的視頻。 任何人都可以告訴我如何通過媒體播放器或Flash播放器進行播放嗎?無論如何,我可以把鼠標懸停在電影剪輯上來自動播放我的電影嗎?
PS:我可以在Flash播放器中播放WMV/ASF/MP4嗎?
嗯,我發現使用swf文件在瀏覽器中顯示電影最容易,原因有兩個:易於使用的JavaScript來控制它們,它們在舊的瀏覽器中工作。 (很容易將任何電影格式轉換爲swf)。
另外還有簡單的swf自由,我在相當深入的時間看了一眼,找不到一個單獨的flashplayer,即使我願意花時間研究和編程,也可以100%控制它。
幸運的是,我有一個簡單的JS框架,我自己在網頁中嵌入和控制電影(應該可以在所有瀏覽器中工作)[注意:我理解JS類的時候甚至比現在更少]。
//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.
如果您有任何更具體的問題,然後隨便問。
嗨,所有,現在我在我的項目中使用jwplayer ...它只支持MP4和SWF和FLV格式,我可以通過C#編碼視頻? – 2011-05-31 02:25:05
是的,它是一種編程語言,所以你幾乎可以用它做任何事情......但是當你只需要下載一個編碼器時,你爲什麼要編程自己的編碼器呢? – Jonathon 2011-05-31 02:29:15
嗨喬納森,我會嘗試你的代碼,並讓你知道...它似乎非常好! – 2011-05-31 02:29:34
我終於找到了一種通過使用流播放器來解決這個問題的方法。
<'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>
此網址可能會幫助您:http://code.google.com/intl/pl/apis/youtube/js_api_reference.html。我認爲Flash Player不能播放wmv,asf,mp4。 下一次請求添加更多標籤 - 它會幫助您獲得fastee答案。 – 2011-05-30 17:51:23
什麼媒體播放器?什麼Flash Player? – Kissaki 2011-05-30 18:10:50