簡體   English   中英

谷歌關閉編譯器&&音頻事件

[英]google closure compiler && audio event

我有以下代碼:(無需編譯,一切正常

var audio = new Audio("audio.ogg");
goog.events.listen(audio, 'timeupdate', function(e){

錯誤

actual parameter 1 of goog.events.listen does not match formal parameter
>> found   : Audio
>> required: (EventTarget|goog.events.Listenable|null)
>> goog.events.listen(this.audio.singing, 'timeupdate', function(e){

我的外部

/**
 * @param {string=} src
 * @constructor
 */
var Audio = function(src) {};
Audio.prototype.play = function() {};

我該如何編譯內部事件? 謝謝

您當然應該嘗試擴大您的外部定義:

goog.require('goog.events.EventTarget');
/**
 * @param {string=} src
 * @constructor
 * @extends {EventTarget}
 */
var Audio = function(src) {};
Audio.prototype.play = function() {};

編輯:

因此,事實證明您的問題已在Closure Compiler代碼庫中得到解決,然后還原了該修復程序。 在此處查看更改日志

我在下面復制了該提交的相關部分:

/**
* @param {string=} src address of the media resource (a URL)
* @constructor
* @extends {HTMLAudioElement}
* @see http://www.w3.org/html/wg/drafts/html/master/embedded-content-0.html#the-audio-element
*/
var Audio = function(src) {};

Closure編譯器提供了extern,應將其添加到externs列表中

https://github.com/google/closure-compiler/wiki/Externs-For-Common-Libraries

帶有音頻API的那個稱為html5或類似的名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM