export function opacity(art) { const { i18n, events: { proxy }, } = art; return { name: 'danmuku-opacity', index: 10, html: `
${i18n.get('Danmu opacity')}: 100%
`, mounted: $setting => { const $range = $setting.querySelector('input[type=range]'); const $value = $setting.querySelector('.art-value'); proxy($range, 'change', () => { const { value } = $range; $value.innerText = Number(value) * 100; art.plugins.artplayerPluginDanmuku.config({ opacity: Number(value), }); }); art.on('artplayerPluginDanmuku:config', config => { if ($range.value !== config.opacity) { $range.value = config.opacity; $value.innerText = config.opacity * 100; } }); }, }; } export function size(art) { const { i18n, events: { proxy }, } = art; return { name: 'danmuku-size', index: 11, html: `
${i18n.get('Danmu size')}: 25px
`, mounted: $setting => { const $range = $setting.querySelector('input[type=range]'); const $value = $setting.querySelector('.art-value'); proxy($range, 'change', () => { const { value } = $range; $value.innerText = value; art.plugins.artplayerPluginDanmuku.config({ fontSize: Number(value), }); }); art.on('artplayerPluginDanmuku:config', config => { if ($range.value !== config.fontSize) { $range.value = config.fontSize; $value.innerText = config.fontSize; } }); }, }; } export function speed(art) { const { i18n, events: { proxy }, } = art; return { name: 'danmuku-speed', index: 12, html: `
${i18n.get('Danmu speed')}: 5s
`, mounted: $setting => { const $range = $setting.querySelector('input[type=range]'); const $value = $setting.querySelector('.art-value'); proxy($range, 'change', () => { const { value } = $range; $value.innerText = value; art.plugins.artplayerPluginDanmuku.config({ speed: Number(value), }); }); art.on('artplayerPluginDanmuku:config', config => { if ($range.value !== config.speed) { $range.value = config.speed; $value.innerText = config.speed; } }); }, }; } export function synchronousPlayback(art) { const { i18n, events: { proxy }, } = art; return { name: 'danmuku-synchronousPlayback', index: 13, html: ` `, mounted: $setting => { const $checkbox = $setting.querySelector('input[type=checkbox]'); proxy($checkbox, 'change', () => { art.plugins.artplayerPluginDanmuku.config({ synchronousPlayback: $checkbox.checked, }); }); art.on('artplayerPluginDanmuku:config', config => { if ($checkbox.checked !== config.synchronousPlayback) { $checkbox.checked = config.synchronousPlayback; } }); }, }; }