|  | @@ -14,6 +14,8 @@ import {
 | 
	
		
			
				|  |  |  	OpenSheetMusicDisplay,
 | 
	
		
			
				|  |  |  } from "/osmd-extended/src";
 | 
	
		
			
				|  |  |  import { GradualChange, speedInfo } from "./calcSpeed";
 | 
	
		
			
				|  |  | +import { beatUnitTo } from "/src/helpers/beatConfig"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  const browserInfo = browser();
 | 
	
		
			
				|  |  |  dayjs.extend(duration);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -677,6 +679,13 @@ export const formatXML = (xml: string, xmlUrl?: string): string => {
 | 
	
		
			
				|  |  |  		state.originSpeed = speeds[0] ? speeds[0] : 100;
 | 
	
		
			
				|  |  |  		state.speed = state.originSpeed;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +	// 赋值谱面速度节拍器,没有的时候 以后台传入的为准
 | 
	
		
			
				|  |  | +	const metronomeXml = xmlParse.getElementsByTagName('metronome')?.[0]
 | 
	
		
			
				|  |  | +	const beatUnit = metronomeXml?.getElementsByTagName('beat-unit')?.[0]?.textContent || ''
 | 
	
		
			
				|  |  | +	if(beatUnit){
 | 
	
		
			
				|  |  | +		const beatUnitDot = metronomeXml?.getElementsByTagName('beat-unit-dot')?.[0]
 | 
	
		
			
				|  |  | +		state.speedBeatUnit = beatUnitTo(beatUnit, !!beatUnitDot)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	// 如果谱面和小节都没有打速度,osmd设置的小节速度默认取后台设置的速度
 | 
	
		
			
				|  |  |  	if (speeds.length === 0) {
 | 
	
		
			
				|  |  |  		;(window as any).baseMeasureSpeed = state.originSpeed
 |