我正在尝试遵循 Wes Bos 的 Javascript30 教程,但是当我尝试制作“Javascript Drum Kit”网站时,我无法播放任何声音。那里有适当的声音文件,但是当我按下按键尝试播放声音时,在检查控制台时会出现以下错误消息:
jsdrumkit.html:66 - Uncaught (in promise) DOMException: The element has no supported sources.
这是该网站的 JavaScript:
function playSound(e){
//querySelector() is just when you need a single return value
//audio[input] is an attribute selector, and it works just like its CSS counterpart.
const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
if(!audio) return;
audio.currentTime = 0; //rewind the file to the start
audio.play(); //**line 66 in the site's code**
console.log(key);
key.classList.toggle('playing');
}
function removeTransition(e) {
if(e.propertyName …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现 JsonSubTypes,但我希望能够对无法识别的子类型进行一些优雅的处理。我使用的是 Jackson 2.9.7,并且无法进行更新,因为还有一些其他类依赖于它。
假设这是我的代码:
@Value.Style(allParameters = true, typeImmutable = "*", typeImmutableEnclosing = "*Impl",
defaults = @Value.Immutable(builder = false))
@Value.Enclosing
@JsonSerialize
@JsonDeserialize
public class JsonAnimal {
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "subClass", include = JsonTypeInfo.As.EXISTING_PROPERTY,
visible = true, defaultImpl = UnmappedAnimal.class) //fixme create logger warning if this defaults to a Void
@JsonSubTypes({
@JsonSubTypes.Type(value = Dog.class, name = Dog.ANIMAL_TYPE),
@JsonSubTypes.Type(value = Cat.class, name = Cat.ANIMAL_TYPE),
@JsonSubTypes.Type(value = Fish.class, name = Fish.ANIMAL_TYPE),
@JsonSubTypes.Type(value = Hamster.class,
name = Hamster.ANIMAL_TYPE)
public static abstract class …Run Code Online (Sandbox Code Playgroud)