- 未加载媒体元数据时默认显示零时长 - 使用音频文件真实媒体时长更新播放器 - 避免使用不准确的接口时长覆盖播放器显示 - 补充音频时长回归测试 Made-with: Proma
This commit is contained in:
@@ -20,6 +20,26 @@ describe('全局讲解播放器语言切换', () => {
|
||||
vi.unstubAllGlobals()
|
||||
})
|
||||
|
||||
it('媒体元数据加载前忽略接口时长,加载后使用音频真实时长', () => {
|
||||
const audio = document.createElement('audio')
|
||||
vi.spyOn(window, 'Audio').mockImplementation(() => audio)
|
||||
|
||||
player.prepare({
|
||||
id: 'duration-audio',
|
||||
name: '时长测试',
|
||||
audioUrl: '/museum-assets/audio/duration.mp3',
|
||||
duration: 28,
|
||||
language: 'zh-CN'
|
||||
})
|
||||
|
||||
expect(player.duration.value).toBe(0)
|
||||
|
||||
Object.defineProperty(audio, 'duration', { configurable: true, value: 54.974938 })
|
||||
audio.dispatchEvent(new Event('loadedmetadata'))
|
||||
|
||||
expect(player.duration.value).toBeCloseTo(54.974938)
|
||||
})
|
||||
|
||||
it('切换到粤语时只从当前统一详情的音轨数组选择,不产生额外 HTTP 请求', async () => {
|
||||
const request = vi.fn()
|
||||
vi.stubGlobal('uni', { request, showToast: vi.fn() })
|
||||
|
||||
Reference in New Issue
Block a user