|
@@ -132,7 +132,8 @@ class Metronome {
|
|
|
}
|
|
|
createAudio = (src: string): Promise<HTMLAudioElement | null> => {
|
|
|
return new Promise((resolve) => {
|
|
|
- const a = new Audio(src + '?v=' + Date.now());
|
|
|
+ // const a = new Audio(src + '?v=' + Date.now());
|
|
|
+ const a = new Audio(src);
|
|
|
a.load();
|
|
|
a.onloadedmetadata = () => {
|
|
|
resolve(a);
|
|
@@ -197,6 +198,16 @@ class Metronome {
|
|
|
this.source = metronomeData.followAudioIndex === 1 ? audioData.tick : audioData.tock;
|
|
|
// this.source.volume(metronomeData.disable ? 0 : beatVolume);
|
|
|
this.source.volume = metronomeData.disable ? 0 : beatVolume
|
|
|
+ /**
|
|
|
+ * https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLMediaElement/volume
|
|
|
+ * volume属性在部分ios手机的Safari浏览器不被支持
|
|
|
+ */
|
|
|
+ if (this.source.volume <= 0) {
|
|
|
+ this.source.muted = true
|
|
|
+ } else {
|
|
|
+ this.source.muted = false
|
|
|
+ }
|
|
|
+ console.log('音量',this.source,this.source.volume)
|
|
|
this.source.play();
|
|
|
metronomeData.followAudioIndex += 1;
|
|
|
metronomeData.followAudioIndex = metronomeData.followAudioIndex > metronomeData.totalNumerator ? 1 : metronomeData.followAudioIndex;
|