适配讲解详情多语言声线播放
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-25 01:04:42 +08:00
parent cb6da6590d
commit 7001ec355a
8 changed files with 567 additions and 31 deletions

View File

@@ -75,4 +75,63 @@ describe('guide stop-info adapter', () => {
expect(result.supportedLanguages).toEqual(['zh-CN', 'en-US'])
expect(result.languageVariants).toEqual({})
})
it('uses playable audio options as the primary language and voice contract', () => {
const result = toGuideStopInfo({
supportedLanguages: ['zh-CN', 'yue-HK'],
audioOptions: [
{
channelCode: 'standard.zh-CN.male',
displayName: '普通话男声',
languageCode: 'zh-CN',
gender: 'male',
playUrl: '/museum-assets/audio/zh-male.mp3',
duration: '51',
isDefault: false,
sortOrder: 11
},
{
channelCode: 'standard.en-US.female',
displayName: '英文女声',
languageCode: 'en-US',
gender: 'female',
playUrl: '/museum-assets/audio/en-female.mp3',
duration: 49,
isDefault: true,
sortOrder: 20
},
{
channelCode: 'standard.zh-CN.female',
displayName: '普通话女声',
languageCode: 'zh-CN',
gender: 'female',
playUrl: '/museum-assets/audio/zh-female.mp3',
isDefault: true,
sortOrder: 10
},
{
channelCode: 'invalid',
languageCode: 'zh-CN',
gender: 'female'
}
]
}, {
targetType: 'STOP',
targetId: '9001',
lang: 'zh-CN'
})
expect(result.supportedLanguages).toEqual(['zh-CN', 'en-US'])
expect(result.audioOptions.map((option) => option.channelCode)).toEqual([
'standard.zh-CN.female',
'standard.zh-CN.male',
'standard.en-US.female'
])
expect(result.audioOptions[0]).toMatchObject({
displayName: '普通话女声',
gender: 'female',
playUrl: '/museum-assets/audio/zh-female.mp3',
isDefault: true
})
})
})