import quackSound from "./music/Duck-quack.mp3";
class MallardDuck extends Duck {
constructor(props) {
super();
this.state = {
canFly: false,
canQuack: false,
quackSound: new Audio(quackSound),
};
}
quack = () => {
const quack = new QuackSound();
return quack.quack();
};
fly = () => {
const fly = new FlyWings();
return fly.fly();
};
render() {
return (
<div className="duck">
<img
className={`image ${this.state.canFly ? "canFly" : ""}`}
src={mallardDuck}
alt="mallardDuck"
onAnimationEnd={() => {
this.setState({ canFly: false });
}}
/>
<Button
className="eventButton"
onClick={(event) => {
event.preventDefault();
this.setState({ canFly: true });
}}
>
Fly
</Button>
<Button
className="eventButton"
onClick={(event) => {
event.preventDefault();
this.setState({ canQuack: true });
this.state.quackSound.play(); // Here !!!!!!
}}
>
Quack
</Button>
{this.state.canQuack ? this.quack() : null}
{this.state.canFly ? this.fly() : null}
</div>
);
}
}
我的音频 mp3 文件长 18 秒。我想玩前 3 或 4 秒。有什么办法可以在 react js 中做到这一点!上面提到的代码播放了整整18秒,我只想播放前几秒。我可以在 react js 中这样做吗?另外,我可以选择我的声音从哪里开始和结束吗?例如,如果我想播放 0.03 到 0.07 秒的嘎嘎声!
开心每一天1111
相关分类