作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用以下 load()
接受五个参数的方法,以便我可以从较大的视频加载一个小的“摘录”:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/video/VideoPlayer.html#load()
特别是startTime
和 duration
参数似乎是我需要的,但我收到的错误似乎表明我没有正确的对象/版本的东西,即使 Adobe 文档说它应该可以工作。这是我的步骤:
import fl.video.*;
var innerPlayer = vPlayer.getVideoPlayer(vPlayer.activeVideoPlayerIndex);
trace(innerPlayer); // "[object VideoPlayer]" appears in Output window
innerPlayer.load(
"RTMP://..."
, 0 // totalTime
, false // isLive
, 60 // startTime
, 10 // duration
);
ArgumentError: Error #1063: Argument count mismatch on fl.video::VideoPlayer/load(). Expected 1, got 5.
的错误。
FLVPlayback.VERSION
=2.1.0.19,我的目标是 Flash Player 10(最新版本)+AS3。对于 CS6,
FLVPlayback.VERSION
=2.5.0.26,我的目标是 Flash Player 11.4。
load()
只需要一个参数(有两个可选),和
play()
有三个可选参数。
describeType(innerPlayer)
的输出确认:
<type name="fl.video::VideoPlayer" base="flash.media::Video" isDynamic="false" isFinal="false" isStatic="false">
...
<method name="play" declaredBy="fl.video::VideoPlayer" returnType="void">
<parameter index="1" type="String" optional="true"/>
<parameter index="2" type="Number" optional="true"/>
<parameter index="3" type="Boolean" optional="true"/>
</method>
...
<method name="load" declaredBy="fl.video::VideoPlayer" returnType="void">
<parameter index="1" type="String" optional="false"/>
<parameter index="2" type="Number" optional="true"/>
<parameter index="3" type="Boolean" optional="true"/>
</method>
...
</type>
最佳答案
Anon,我认为这是一个糟糕的文档/太多不同版本的不同产品(Flash、Flex、播放器、flvplayback 组件)的问题。
我能够得到 .load()
调用以使用所有 5 个参数(并验证它确实在指定的开始时间开始播放),但只能通过编译一个新的 FLVPlayback_116.swc
来自最新的 Flex SDK 源代码(Flex 4.6 with playerglobal.swc
version 11.6)。
看我的 screenshot .
不妨看看它是否适合你。以下是您需要执行的操作:
File -> ActionScript Settings
对话框,在库路径选项卡下,单击“浏览到 SWC 文件”并找到 FLVPlayback_116.swc
你刚刚下载的文件。我上面的屏幕截图显示了这个对话框以及 FLVPlayback_116.swc
文件添加后列出。 fl.video.VideoPlayer.iNCManagerClass = fl.video.NCManager;
innerPlayer = vPlayer.getVideoPlayer
您需要使用 innerPlayer = new VideoPlayer(width,height)
然后 addChild(innerPlayer)
和 innerPlayer.play()
innerVideo.play()
调用开始播放视频(我假设 GUI 可以处理)import fl.video.*;
fl.video.VideoPlayer.iNCManagerClass = fl.video.NCManager;
var innerPlayer = new VideoPlayer(640,480);
addChild(innerPlayer);
innerPlayer.load(
"http://10.0.1.3/test.flv"
, 0 // totalTime
, false // isLive
, 5 // startTime
, 5 // duration
);
innerPlayer.play();
describeType
的
VideoPlayer
显示适当数量的参数:
<method name="load" declaredBy="fl.video::VideoPlayer" returnType="void">
<parameter index="1" type="String" optional="false"/>
<parameter index="2" type="Number" optional="true"/>
<parameter index="3" type="Boolean" optional="true"/>
<parameter index="4" type="Number" optional="true"/>
<parameter index="5" type="Number" optional="true"/>
<metadata name="__go_to_definition_help">
<arg key="pos" value="41308"/>
</metadata>
</method>
<method name="play" declaredBy="fl.video::VideoPlayer" returnType="void">
<parameter index="1" type="String" optional="true"/>
<parameter index="2" type="Number" optional="true"/>
<parameter index="3" type="Boolean" optional="true"/>
<parameter index="4" type="Number" optional="true"/>
<parameter index="5" type="Number" optional="true"/>
<metadata name="__go_to_definition_help">
<arg key="pos" value="34410"/>
</metadata>
</method>
var vPlayer:FLVPlayback = new FLVPlayback(640,480);
vPlayer.skin = "http://10.0.1.3/skin.swf"; // optional skin
addChild(vPlayer);
var innerPlayer = vPlayer.getVideoPlayer(vPlayer.activeVideoPlayerIndex);
innerPlayer.load(
"http://10.0.1.3/test.flv"
, 0 // totalTime
, false // isLive
, 5 // startTime
, 5 // duration
);
关于actionscript-3 - FLVPlayback/VideoPlayer : How to access VideoPlayer. 接受 5 个参数的 load() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17776642/
我是一名优秀的程序员,十分优秀!