我正在迁移一个展示Flash视频的个人投资组合网站。
除了视频播放不正确外,一切正常。
该网站嵌入了一个swfobject播放器来播放.f4v flash视频。
swfobject加载但视频无法播放。
以下是整个代码示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject 2 dynamic publishing example page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function outputStatus(response) {
console.log("response.success = " + response.success +"\nresponse.id = "+ response.id +"\nresponse.ref = "+ response.ref)
}
var flashvars = {
holder: "http://127.0.0.1:8000/media/uploads/stills/XMAS-H264.jpg",
bg: '',
file: "Xmas_instrumental_2.f4v",
autoplay: 'false'
}
var playerId = "myContent";
var params = { wmode: 'transparent' }
swfobject.embedSWF('player_12.swf', playerId, '960', '540', '10.0.0', 'expressInstall.swf', flashvars, params, null, outputStatus);
</script>
</head>
<body>
<div id="myContent">
<h1>Alternative content</h1>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
</div>
</body>
</html>
我在outputStatus函数中得到的控制台响应是:
response.success = true
response.id = myContent
response.ref = [object HTMLObjectElement]
这似乎表明Flash播放器正在加载,但无法播放视频。
这是&#39; player_12.swf&#39;的问题吗?对象我试图用来播放视频吗?
如何正确诊断错误?我怎样才能让它正常工作?
这个问题[play FLV video in a SWF object]表明我需要使用第三方托管解决方案(这不是一个选项)或构建可以播放视频的SWF。
鉴于答案已有几年历史,我想看看是否有更好的当前解决方案(或者是一个很好的SWF教程推荐)。
感谢您的帮助!
答案 0 :(得分:0)
the other thread中的答案仍然准确无误。 SWFObject只嵌入SWF文件,它不嵌入(或播放)FLV文件。它不是一个播放器,只是自动在HTML中创建标记。
下面的代码表明标记已正确添加到页面中,即使SWF没有按照您的预期执行操作。换句话说,SWFObject完成了它的工作。
response.success = true
response.id = myContent
response.ref = [object HTMLObjectElement]
如其他主题所述,为了播放FLV文件,您需要构建一个自定义SWF来加载和控制FLV,或使用预构建的视频播放器,如JW Player或{{3} }。第三方播放器不必在第三方网站上托管,我认为你误解了那里的响应。您可以轻松地保留对所有文件的控制权,并从您自己的服务器上提供这些文件。
至于为什么&#34; player_12.swf&#34;没有工作,我们无法在不研究SWF内部的ActionScript的情况下回答这个问题。老实说,我真的没有理由重新发明轮子,因为他们花了无数个小时来调试和完善他们的球员并且在这个领域拥有更多的经验,所以我选择了第三方球员。你或我。