【问题标题】:Check if users flash player has audio capabilities. (Capabilities.hasAudio)检查用户 Flash 播放器是否具有音频功能。 (Capabilities.hasAudio)
【发布时间】:2011-05-29 12:14:12
【问题描述】:

是否可以检查用户是否有声卡?我找到了 Capabilities.hasAudio 但不知道这是否是我应该查看的值。

trace(Capabilities.hasAudio)

"指定系统是否具有音频功能。 此属性始终为true

【问题讨论】:

  • 这让我想起了 BeOS 的系统函数 IsComputerOn(“如果计算机打开则返回 1.0,否则未指定”)——定义明确,但无用。我想知道它的创造者在想什么(尤其是因为系统没有音频功能,现在比以往任何时候都多)。
  • @Piskvor:IsComputerOn?大声笑... @Mattias:很好。简短的描述似乎很清楚(“[静态] [只读]​​ 指定系统是否具有音频功能。”)直到,正如您所指出的,“此属性始终为真”。我假设没有声音的设备/计算机将返回错误,说明写错了,否则该属性完全没用。
  • AFAIK,对于桌面播放器它总是返回 true,但对于其他设备上的播放器可能会或可能不会这样做。文档对此一清二楚。

标签: actionscript-3 flash


【解决方案1】:

如果没有设备存在,Sound.play() 将返回 null。

【讨论】:

    【解决方案2】:

    文档对此并不清楚,但我认为 Capabilities 类中的属性告诉您播放器的功能是什么,不一定是系统。例如,桌面播放器将始终为 hasAudio 返回 true,而不管系统是否真的可以播放音频。

    不幸的是,我认为没有任何方法可以确定实际系统的音频功能。例如,如果您禁用声卡,hasAudio 仍将返回 true AFAIK。

    【讨论】:

    • 我很好奇哪些 Flash Player 版本不支持声音。
    • 嗯,我不确定,但我认为其他平台上的某些播放器(想到 Solaris)可能不支持声音。但是,我认为这个 API 很可能属于“当时看来是正确的”类别。平台中有一些。
    • 请务必了解 hasAudio 和 hasMP3 属性设置基于播放器的功能,而不是运行播放器的系统。桌面系统播放器“(适用于 Windows、Mac OS 和 Linux)无论系统是否实际具有播放声音的硬件(即声卡和扬声器),这两个属性都始终返回 true。但是,其他设备的播放器如果设备不支持音频或 MP3 功能,则可能返回 false。"
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多