|
@@ -315,7 +315,8 @@ export default defineComponent({
|
|
|
musicSheetExtend: {} as any, //所属人信息
|
|
|
musicImg: '', // 五线谱图片
|
|
|
musicFirstImg: '', //首调图片
|
|
|
- musicJianImg: '' // 简谱固定调
|
|
|
+ musicJianImg: '', // 简谱固定调
|
|
|
+ isEvxml: false, // 是否是evxml
|
|
|
})
|
|
|
const state = reactive({
|
|
|
loading: false,
|
|
@@ -373,7 +374,8 @@ export default defineComponent({
|
|
|
musicalInstrumentIds: forms.musicalInstrumentIdList.join(','),
|
|
|
extConfigJson: JSON.stringify({
|
|
|
repeatedBeats: forms.repeatedBeats ? 1 : 0,
|
|
|
- gradualTimes: forms.graduals
|
|
|
+ gradualTimes: forms.graduals,
|
|
|
+ isEvxml: forms.isEvxml ? 1 : 0,
|
|
|
}),
|
|
|
subjectIds: forms.subjectIds.join(',')
|
|
|
}
|
|
@@ -401,6 +403,8 @@ export default defineComponent({
|
|
|
|
|
|
// 上传XML,初始化音轨 音轨速度 乐器、声部
|
|
|
const readFileInputEventAsArrayBuffer = (file: any) => {
|
|
|
+ // 是否是evxml
|
|
|
+ forms.isEvxml = file?.name?.includes('.evxml') ? true : false;
|
|
|
const xmlRead = new FileReader()
|
|
|
xmlRead.onload = (res) => {
|
|
|
try {
|
|
@@ -511,7 +515,11 @@ export default defineComponent({
|
|
|
const partList: any =
|
|
|
xmlParse.getElementsByTagName('part-list')?.[0]?.getElementsByTagName('score-part') || []
|
|
|
let partListNames = Array.from(partList).map((item: any) => {
|
|
|
- const part = item.getElementsByTagName('part-name')?.[0].textContent || ''
|
|
|
+ let part = item.getElementsByTagName('part-name')?.[0]?.textContent || ''
|
|
|
+ // evxml没有分轨,需要手动设置一个默认的名称,用于上传原音
|
|
|
+ if (forms.isEvxml) {
|
|
|
+ part = part || 'noPartName'
|
|
|
+ }
|
|
|
return {
|
|
|
value: part,
|
|
|
label: part
|
|
@@ -541,6 +549,7 @@ export default defineComponent({
|
|
|
forms.playSpeed = 100
|
|
|
}
|
|
|
}
|
|
|
+ // console.log('xml声轨',partListNames,state.xmlFirstSpeed)
|
|
|
return partListNames
|
|
|
}
|
|
|
|
|
@@ -769,6 +778,7 @@ export default defineComponent({
|
|
|
const extConfigJson = data.extConfigJson ? JSON.parse(data.extConfigJson) : {}
|
|
|
forms.graduals = extConfigJson.gradualTimes || {}
|
|
|
forms.repeatedBeats = !!extConfigJson.repeatedBeats
|
|
|
+ forms.isEvxml = !!extConfigJson.isEvxml
|
|
|
} catch (error) {}
|
|
|
forms.evaluationStandard = data.evaluationStandard
|
|
|
forms.musicSheetExtend = data.musicSheetExtend
|
|
@@ -1109,7 +1119,7 @@ export default defineComponent({
|
|
|
v-model:value={forms.playSpeed}
|
|
|
style="width:100%"
|
|
|
/>
|
|
|
- </NFormItemGi>
|
|
|
+ </NFormItemGi>
|
|
|
</NGrid>
|
|
|
<NAlert showIcon={false} style={{ marginBottom: '12px' }}>
|
|
|
曲目上传
|
|
@@ -1249,9 +1259,9 @@ export default defineComponent({
|
|
|
size={10}
|
|
|
key={'xmlFileUrl'}
|
|
|
v-model:fileList={forms.xmlFileUrl}
|
|
|
- tips="仅支持上传.xml/.mxml格式文件"
|
|
|
+ tips="仅支持上传.xml/.mxml/.evxml格式文件"
|
|
|
listType="image"
|
|
|
- accept=".xml,.mxml"
|
|
|
+ accept=".xml,.mxml,.evxml"
|
|
|
bucketName="cloud-coach"
|
|
|
text="点击上传XML文件"
|
|
|
onReadFileInputEventAsArrayBuffer={readFileInputEventAsArrayBuffer}
|