Flash 如何创建和显示youtube注释的技术说明?

Flash 如何创建和显示youtube注释的技术说明?,flash,apache-flex,youtube,annotations,flex3,Flash,Apache Flex,Youtube,Annotations,Flex3,我将很快开始从事一个学校项目,该项目涉及在视频中使用实时注释。我真的很喜欢youtube的注释系统的工作方式,我真的很想知道他们是如何创建它的。更具体地说,找出如何重现其功能的主要组件 如果您展开要点,此链接将涵盖注释的高层次内容。 是否有人能够提供有关创建和显示批注系统工作原理的技术说明?(例如,数据库存储注释的开始时间、注释的结束时间、注释的文本块以及注释的唯一数字标识符。当视频到达注释的开始时间时,它将一直显示到结束时间。) 更具体地说,有人知道创建这个系统使用了什么工具吗?是使用了fl

我将很快开始从事一个学校项目,该项目涉及在视频中使用实时注释。我真的很喜欢youtube的注释系统的工作方式,我真的很想知道他们是如何创建它的。更具体地说,找出如何重现其功能的主要组件

如果您展开要点,此链接将涵盖注释的高层次内容。

是否有人能够提供有关创建和显示批注系统工作原理的技术说明?(例如,数据库存储注释的开始时间、注释的结束时间、注释的文本块以及注释的唯一数字标识符。当视频到达注释的开始时间时,它将一直显示到结束时间。)

更具体地说,有人知道创建这个系统使用了什么工具吗?是使用了flex还是纯粹用flash professional之类的工具

我发现很难阅读任何有关注释的技术细节。youtube actionscript 3.0 api文档中没有提到注释


非常感谢

首先,使用什么开发环境并不重要,但我建议在FlashBuilder/Flex中进行任何类型的高级Flash开发

其次,YouTube api供第三方开发者访问YouTube平台的功能,您不会发现任何关于YouTube产品开发过程的特殊隐藏信息

无论如何,让我们看看注释是如何工作的

  • 它们需要由最终用户创建,因此它们需要有一种宽容、易于使用的创建/编辑方法

  • 需要在请求时为每个视频快速提供注释,因此包含注释元数据的结构化文本文件最合适(XML可能是由于Flash E4X技术,或者JSON,因为Flash也有足够的JSON LIB)。这些结构化文本文件可能存储在数据库中(可能是NoSQL类型的解决方案。)

  • 至于元数据的格式,你需要一个开/关提示、坐标、样式、消息文本,也许还需要一个点击链接。使用YouTube视频注释器,记下你在添加/编辑注释时可以做的所有事情,然后你就有了元数据需要存储的所有事情的列表

    Flash video允许使用嵌入FLV中的提示点,因此这些提示点可用于链接到自定义元数据,并在坐标/样式/文本中显示特定提示的相应注释。类似地,当与注释提示相对应的提示点关闭时,我们可以将其从显示中删除

    这是一个相当基本的概述,请为您希望我扩展的内容留下评论,我也没有涵盖YouTube实现它的各种可能的方式——不同类型的注释,例如,语音气泡;忽略已关闭注释的提示关闭;聚光灯等,但当您构建简单的注释时n系统对于第一个版本,您可以忽略这些额外的详细信息

    参考资料:
    其他参考资料:

    @LedZeppelin-需要注意的是,Flash中的MP3播放不支持本机提示点,就像FLV播放一样,因此您需要将其作为一项自定义功能来实现。您可以查看播放头的时间位置,因此您可以为每个EnterFrame事件设置一个侦听器,然后检查播放头的位置,查找e注释,查看是否有匹配的提示点,如果有…显示(如果是“关闭”提示点,则将其拆下。)@LedZeppelin-在入门方面,看看你是否可以开始播放一个简单的
    SoundChannel
    mp3,并设置一个提示点,看看你是否可以在播放头点击它时报告它。只需将提示点作为
    数字
    变量,
    SoundChannel
    位置
    属性是lso是一个数字,所以你只需要看它们是否匹配。一旦你做到了这一点,推断出多个注释点应该是相当简单的。@LedZeppelin-关于创建用户界面来添加注释/提示点,请看soundcloud.com如何让人们向曲目添加注释。它们近似于f将注释设置为波形的可视表示形式,并在一两秒钟后关闭注释,而不是显式的“关闭”提示点。这完全取决于您选择如何设计和实现用户界面,但这是一个不错的示例。@LedZepplin-请特别看一下
    updateProgress()
    play()
    方法,请注意,
    事件时间更改
    设置间隔(updateProgress,30);
    (即每30毫秒更新一次)。这是使用
    ENTERFRAME
    的替代策略,值得注意,它通常会提供更好的结果(因为更新时间会更紧)。这里的大部分代码对您也很有用。下面是一个快速(可能是脏的,我没有编译它。)使用带有一组预定义提示/注释的Mp3Player类的示例。