我需要与Flash开发人员进行交流,以构建可以记录来自浏览器的音频的Flash记录器。除了Flash记录器需要做的所有事情之外,还需要能够:

  • 如果用户拒绝访问其麦克风或无法访问其麦克风以触发基于JavaScript的模态窗口并弹出一条消息,让用户知道无需访问其麦克风即可继续前进
  • 如果用户录制了声音,并且他们通过按停止按钮完成了录制,则隐藏的html输入字段将填充以秒为单位的录制长度。

  • 那么最好的方法是什么?我不确定如何在规范中与Flash Developer进行最佳沟通。

    我是否定义了上述两个事件中的任何一个发生时播放器需要触发的JavaScript自定义事件?

    我非常喜欢使用jQuery。

    最佳答案

    使用ExternalInterface在actionscript和javascript之间建立通信/回调。

    我建议使用SWFObject,因为它还会处理和ID /名称问题,这些问题可能会中断某些浏览器中的通信。

    var flashvars = {};
    var params = {};
    var attributes = { id: "ExternalInterfaceExample", name: "ExternalInterfaceExample" };
    
    swfobject.embedSWF("ExternalInterfaceExample.swf", "flashcontent", "550", "200", "8", "/path/to/expressinstall.swf", flashvars, params, attributes);
    
    function sendToFlash(text) {
      var swf = document.getElementById("ExternalInterfaceExample");
      swf.sendTextToFlash(text);
    }
    

    该示例来自链接的站点,请注意id和名称如何相同。查看demo

    10-05 21:07
    查看更多