居中标题并接入指定WAV与随机关卡音乐
This commit is contained in:
@@ -12,8 +12,4 @@ test('教学和组合规则用具体动作及奇偶例子解释,没有未解
|
||||
|
||||
test('过关提示同步使用实际播放起点,非请求时间',()=>{const h=setup();h.sound.play('complete');assert.equal(audioDiagnostics.completeStartedAt,null);const requested=audioDiagnostics.completeRequestedAt;h.contexts.find(c=>c.src==='audio/complete.wav').playing();assert.ok(audioDiagnostics.completeStartedAt>=requested);});
|
||||
|
||||
test('过关和弦收尾持续衰减,不在后半段重新起音',()=>{
|
||||
const b=fs.readFileSync(path.join(root,'audio/complete.wav')),rate=b.readUInt32LE(24),rms=[];
|
||||
for(let t=.4;t<.8;t+=.1){let energy=0,n=0;for(let i=Math.floor(t*rate);i<Math.min(Math.floor((t+.1)*rate),(b.length-44)/2);i++){const v=b.readInt16LE(44+i*2);energy+=v*v;n++;}rms.push(Math.sqrt(energy/n));}
|
||||
for(let i=1;i<rms.length;i++)assert.ok(rms[i]<rms[i-1],rms.join(','));
|
||||
});
|
||||
test('过关短句使用用户提供的3秒WAV,不与旧和弦叠加',()=>{const b=fs.readFileSync(path.join(root,'audio/complete.wav'));assert.equal(b.readUInt32LE(24),22050);assert.equal((b.length-44)/(22050*2),3);const h=setup();let stops=0;h.sound.beforeComplete=()=>stops++;h.sound.play('complete');assert.equal(stops,1);assert.deepEqual(h.played,['audio/complete.wav']);});
|
||||
|
||||
Reference in New Issue
Block a user