flex教程系列四.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
flex教程系列四

了解提示点 可在编码期间将提示点嵌入 Adobe F4V 或 FLV 视频文件。过去,在影片中嵌入提示点是为了给放映员提供了一个可视信号, 以指出胶片盘中的胶片即将放完。在 Adobe F4V 和 FLV 视频格式中,提示点的作用在于:当视频流中出现提示点时,在应用 程序中触发一个或多个其他动作。 您可以对 Flash 视频使用几种不同类型的提示点。可以使用 ActionScript 与在创建视频文件时嵌入其中的提示点进行交互。 ? 导航提示点:您可以在编码视频文件时,将导航提示点嵌入到视频流和元数据包中。使用导航提示点可以使用户搜索到文件 的指定部分。 ? 事件提示点:您可以在编码视频文件时,将事件提示点嵌入到视频流和元数据包中。还可以编写代码来处理视频播放期间在 指定点上触发的事件。 ? ActionScript 提示点:ActionScript 提示点只对 Flash FLVPlayback 组件有用。ActionScript 提示点是您使用 ActionScript 代码创建和访问的外部提示点。您可以编写代码来触发这些与视频播放有关的提示点。这些提示点的精确度 要低于嵌入的提示点(最高时相差 1/10 秒),因为视频播放器单独跟踪这些提示点。如果您计划创建一个应用程序,希望 用户能在其中导航至提示点,则应在编码文件时创建并嵌入提示点,而不应使用 ActionScript 提示点。您应将提示点嵌入 FLV 文件中,因为这些提示点更加精确。 由于导航提示点会在指定的提示点位置创建一个关键帧,因此可以使用代码将视频播放器的播放头移动到该位置。您可以在视 频文件中设置一些希望用户搜索的特定点。例如,视频可能会具有多个章节或段,在这种情况下您就可以在视频文件中嵌入导 航提示点,以此方式来控制视频。 有关使用提示点对 Adobe 视频文件进行编码的详细信息,请参阅《使用 Flash》中的“ 嵌入提示点”。 您可以通过编写 ActionScript 来访问提示点参数。提示点参数是由回调处理函数接收的事件对象的一部分。 若要在 FLV 文件到达特定提示点时在代码中触发特定动作,请使用 NetStream.onCuePoint 事件处理函数。 若要同步对 F4V 视频文件中某个提示点的操作,必须从 onMetaData() 或 onXMPData() 回调函数检索该提示点数据,并使用 ActionScript 3.0 中的 Timer 类触发该提示点。有关 F4V 提示点的详细信息,请参阅第421 页的“ 使用 onXMPData()”。 有关处理提示点和元数据的详细信息,请参阅第411 页的“ 编写元数据和提示点的回调方法”。 编写元数据和提示点的回调方法 当播放器收到特定元数据或到达特定提示点时,可以在应用程序中触发动作。当这些事件发生时,必须将特定回调方法用作事 件处理函数。NetStream 类指定了在播放期间可发生的以下元数据事件:onCuePoint (仅限 FLV 文件)、onImageData、 onMetaData、onPlayStatus、onTextData 和 onXMPData。 必须为这些处理程序编写回调方法,否则 Flash 运行时可能会引发错误。例如,以下代码播放 SWF 文件所在文件夹中名为 video.flv 的 FLV 文件: var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); ns.play("video.flv"); function asyncErrorHandler(event:AsyncErrorEvent):void { trace(event.text); } var vid:Video = new Video(); vid.attachNetStream(ns); addChild(vid); 上面的代码加载一个名为 video.flv 的本地视频文件并侦听要调度的 asyncError (AsyncErrorEvent.ASYNC_ERROR)。当本机异 步代码中引发异常时调度此事件。在本例中,当视频文件中包含元数据或提示点信息,并且未定义相应的侦听器时,将调度此 事件。如果您对视频文件的元数据或提示点信息不感兴趣,则可以使用上面的代码处理 asyncError 事件并忽略错误。如果 FLV 中有元数据和多个提示点,则 trace() 函数将显示以下错误消息: Error #209

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档