18910140161

HTML-HTMLAudioElement作为JS音频-堆栈溢出

顺晟科技

2022-10-18 12:47:57

191

我有一个使用HTML加载的音频:

<代码><;音频amp;gt;<;源SRC=";文件.ogg";/>;<;源SRC=";文件.MP3";/>;<;/音频>;

我还扩展了原型以创建一个新函数:

<audio>
    <source src="file.ogg" />
    <source src="file.mp3" />
</audio>

但是,当我获取audio元素时,TypeScript无法将其识别为audio的实例:

Audio.prototype.restart = function(){
    this.pause();
    this.currentTime = 0;
    this.play();
}

我得到两个错误:

<块引用>

“音频”指的是一个值,但在这里被用作一个类型。你是说“音频类型”吗?let file = document.querySelector("audio")! as Audio; file.restart()

<块引用>类型“ htmlAudioElement ”上不存在

属性“ restart ”ts(2749)

该怎么解决这个问题?


顺晟科技:

你需要

  • 告诉TS现在HtmlAudioElements
  • 上存在.ts(2339)函数
  • 告诉TSrestart将返回一个HtmlAudioElement,这可以通过泛型
  • 来完成
<代码>接口HtmlAudioElement{重新启动:()=>;无效;}Audio.Prototype.Restart=函数(){this.pause();this.currentTime=0;this.play();}let file=document.queryselector<;HtmlAudioElement>;(";音频";)!;文件.重新启动()
<块引用>

“音频”指的是一个值,但在这里被用作一个类型。

因为音频是一个构造函数-一个值。

querySelector('audio')

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航