docs(hls): [SITE-HLS-01] add bilingual guides and fix example SDK ownership

This commit is contained in:
Harvey Zhao committed 2026-09-15 17:55:11 +08:00
1 parent 2802cbacc5
commit 4ea0ba94ae
68 files changed
+5308 -1677

No files matched your search

File diff suppressed because it is too large. Load diff
+187 -66
View File
@@ -4,9 +4,9 @@
"note": "Read-only source inventory. Heading matches are candidates, never semantic API coverage. Asset identity is not permission. No runtime, remote Pages or npm acceptance is implied.",
"counts": {
"packages": 22,
"markdown": 28,
"markdown": 30,
"examples": 30,
"html": 37,
"html": 39,
"declarationMembers": 963,
"assets": 204
},
@@ -2013,6 +2013,49 @@
"translation": "packages/artplayer-vitepress/docs/plugin/danmuku.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"sha256Lf": "c0271b386e44fcc47c9aad017b3b02f75bb3baec830bca9634edcb2060cd91d3",
"language": "en",
"route": "/document/en/plugin/hls-control.html",
"headings": [
{
"text": "HLS Control",
"line": 1
},
{
"text": "Installation",
"line": 9
},
{
"text": "Complete example",
"line": 23
},
{
"text": "Configuration",
"line": 103
},
{
"text": "Refresh after external changes",
"line": 121
},
{
"text": "SDK ownership and source switching",
"line": 133
},
{
"text": "TypeScript",
"line": 139
},
{
"text": "Validation scope",
"line": 163
}
],
"runCodeMarkers": 1,
"translation": "packages/artplayer-vitepress/docs/plugin/hls-control.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/en/start/i18n.md",
"sha256Lf": "1551bf939aab1ee942d8480df891640109d18aa9adc016adf1d075bee5ef1de9",
@@ -2429,6 +2472,49 @@
"translation": "packages/artplayer-vitepress/docs/en/plugin/danmuku.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/plugin/hls-control.md",
"sha256Lf": "262df6632861f93e8b313db229416a3a70399c94380dcc4ecb9c405ea4b17aba",
"language": "zh",
"route": "/document/plugin/hls-control.html",
"headings": [
{
"text": "HLS 控制",
"line": 1
},
{
"text": "安装",
"line": 9
},
{
"text": "完整示例",
"line": 23
},
{
"text": "配置",
"line": 103
},
{
"text": "外部修改后的刷新",
"line": 121
},
{
"text": "SDK 所有权与换源",
"line": 133
},
{
"text": "TypeScript",
"line": 139
},
{
"text": "验证范围",
"line": 163
}
],
"runCodeMarkers": 1,
"translation": "packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"translationOwner": null
},
{
"file": "packages/artplayer-vitepress/docs/start/i18n.md",
"sha256Lf": "0a77b16620ffec30c27938b6b561139f7a9137f325c1673bd77c1fe964c6e651",
@@ -16866,10 +16952,12 @@
"packages/artplayer-vitepress/docs/en/component/setting.md",
"packages/artplayer-vitepress/docs/en/index.md",
"packages/artplayer-vitepress/docs/en/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/en/start/i18n.md",
"packages/artplayer-vitepress/docs/en/start/option.md",
"packages/artplayer-vitepress/docs/index.md",
"packages/artplayer-vitepress/docs/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/start/i18n.md",
"packages/artplayer-vitepress/docs/start/option.md"
],
@@ -17019,8 +17107,11 @@
"examples": [
"hls.control"
],
"sidebarMentionsPackage": true,
"dedicatedPages": [],
"sidebarMentionsPackage": false,
"dedicatedPages": [
"packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/plugin/hls-control.md"
],
"contentReviewOwner": "SITE-04",
"demoExecutionOwner": "EX-03"
},
@@ -17149,10 +17240,12 @@
"packages/artplayer-vitepress/docs/en/component/setting.md",
"packages/artplayer-vitepress/docs/en/index.md",
"packages/artplayer-vitepress/docs/en/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/en/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/en/start/i18n.md",
"packages/artplayer-vitepress/docs/en/start/option.md",
"packages/artplayer-vitepress/docs/index.md",
"packages/artplayer-vitepress/docs/plugin/danmuku.md",
"packages/artplayer-vitepress/docs/plugin/hls-control.md",
"packages/artplayer-vitepress/docs/start/i18n.md",
"packages/artplayer-vitepress/docs/start/option.md"
],
@@ -17387,7 +17480,7 @@
{
"name": "hls.control",
"source": "docs/assets/example/hls.control.js",
"sha256Lf": "b02fd290d79999790501447fad95736642344b9b30af3ccdbe353f80c7d53a6e",
"sha256Lf": "a80c48da4ddecccfddd7962ed2b3f9315b47204768bd3f709de14501cff3851e",
"menuLinks": [
"/?libs=https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.5.17/hls.min.js%0A./uncompiled/artplayer-plugin-hls-control/index.js&example=hls.control"
],
@@ -17599,10 +17692,10 @@
{
"source": "docs/document/404.html",
"route": "/document/404.html",
"sha256Lf": "3717d17f8ed125c4781ef3663b7b7d2bb72f579d6043a406ea5459010caa08e3",
"sha256Lf": "739031d99373696e852520d1f747f4570398ac462c1576c0a7d233b590a517cb",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17612,10 +17705,10 @@
{
"source": "docs/document/advanced/built-in.html",
"route": "/document/advanced/built-in.html",
"sha256Lf": "70c42ca5bb8c524b56c7ebbb8eaf72f5be14fc41ebc5bf4ec790d0bfa7263097",
"sha256Lf": "2cf8b8bc26ee8bfb34dadf740a3c8ae4b0ed5ee50314b3f6bbe5b3dfd709c538",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17625,10 +17718,10 @@
{
"source": "docs/document/advanced/class.html",
"route": "/document/advanced/class.html",
"sha256Lf": "9d5cd62993d6baf1300181830b2a780e2167bdcee0eeee683736c3d5b43baf24",
"sha256Lf": "7de71fe06d19ca56fb229363f621ddb76dac4ea86582851b6597be4ab510e29b",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17638,10 +17731,10 @@
{
"source": "docs/document/advanced/event.html",
"route": "/document/advanced/event.html",
"sha256Lf": "a4624a2b6a7b68186ab03a4780fa795b97682ca5415c4022e56e8a36db1b49b2",
"sha256Lf": "6d1912bd53e8640e2e003156d367b15680cf9f1f8aa9c784e83f4bbc0710fb84",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17651,10 +17744,10 @@
{
"source": "docs/document/advanced/global.html",
"route": "/document/advanced/global.html",
"sha256Lf": "1003ceb4ee253f71e0da816a4bded4fef25b4cab690c77273b2dd5b4ec459943",
"sha256Lf": "d0b3e638cc56125aa28ed5c0d788dbb327162f30cf198af3a11efb58c30d640b",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17664,10 +17757,10 @@
{
"source": "docs/document/advanced/plugin.html",
"route": "/document/advanced/plugin.html",
"sha256Lf": "68792c9def7906427a8e47f682d1f2f55ee96e420531428622a4339a7ca18e0f",
"sha256Lf": "4d539395bcf9f92cbbf679236f73ad46e0951ad67e169cccd176c8db0e172327",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17677,10 +17770,10 @@
{
"source": "docs/document/advanced/property.html",
"route": "/document/advanced/property.html",
"sha256Lf": "0b15099f0a6c754cb05e2b5173b491960cb9e8b0b61e5c2de47589dc27d871b3",
"sha256Lf": "585490a60cb2bb854a0b6040d10d4bb1800dd5faf5c5c95dfcf780f024a09ced",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17690,10 +17783,10 @@
{
"source": "docs/document/component/contextmenu.html",
"route": "/document/component/contextmenu.html",
"sha256Lf": "e6fe13021fe8e092e0c6588322c2f647bc16fff9b3f890b01398104f519cc8ce",
"sha256Lf": "1ea119dc7d15b9be4ada73e393a7356406f84112a3da4ac271b8657371c55313",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17703,10 +17796,10 @@
{
"source": "docs/document/component/controls.html",
"route": "/document/component/controls.html",
"sha256Lf": "00134da8fcd9f14c21d0f3bc6dd1fe4a0e44f146c57d63a6db4255d0365007c6",
"sha256Lf": "d5a698c705f2cbddcb67f3d05016d19f7c34b4fd5177c1f79e3f3a839f73030f",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17716,10 +17809,10 @@
{
"source": "docs/document/component/layers.html",
"route": "/document/component/layers.html",
"sha256Lf": "9b5c25d8d9faa9a3a35815a1606ffea4a1ab127f12214ba2b5f3caac9eac2428",
"sha256Lf": "e9f5129cb516ec4f2d3ea07b84fac4ac689d979d189815d01eba194c4a257982",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17729,10 +17822,10 @@
{
"source": "docs/document/component/setting.html",
"route": "/document/component/setting.html",
"sha256Lf": "eaa3c6e752df873f6839888c5c6a163a91142697939954af61ee6526f9aab50f",
"sha256Lf": "10284ef177093ed786e0b0600e6ee5184724a46444b2e614b6447f26fb68b711",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17742,10 +17835,10 @@
{
"source": "docs/document/en/advanced/built-in.html",
"route": "/document/en/advanced/built-in.html",
"sha256Lf": "5fc6b3db2706c3214f2e540cc5ebc46f87abbbbf9cd7770b5fe7f8ec0cdfd67b",
"sha256Lf": "f47472d88db0a05eb70a91c14c270e4978afcf55a3777db6d3876dbeb7ef391a",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17755,10 +17848,10 @@
{
"source": "docs/document/en/advanced/class.html",
"route": "/document/en/advanced/class.html",
"sha256Lf": "ae3117b42d654f5c14d62923c7fe7198eae616895dd19885391265d5f11349fb",
"sha256Lf": "eec757fc67c53ebefb0c50b40e21097d7c893a3b76b4aa0170fe7a8906afa676",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17768,10 +17861,10 @@
{
"source": "docs/document/en/advanced/event.html",
"route": "/document/en/advanced/event.html",
"sha256Lf": "4514bf9c007728a1b9b0ec70a7c2a558754fcfafdb879901b1410fd5bc2d5b5b",
"sha256Lf": "01c77788e99f4ec477db05a976200bd1ee4d769cb215d6686011a6e86eca7ac3",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17781,10 +17874,10 @@
{
"source": "docs/document/en/advanced/global.html",
"route": "/document/en/advanced/global.html",
"sha256Lf": "edeb817d22b3726d8acfb3c23dd08b9aeeb64db0d8433a691f0087e05cf7b885",
"sha256Lf": "7e09ba52c4ca4dbf3261844b77f488c768d2e075b4999e4e9599cbef87ada913",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17794,10 +17887,10 @@
{
"source": "docs/document/en/advanced/plugin.html",
"route": "/document/en/advanced/plugin.html",
"sha256Lf": "056784cf908fd500cf3404178916a9f104ccfa398ca2252513a6b630d813fdd0",
"sha256Lf": "a40604fdb0bbed13360b9f4c1a69cc67c875d66adc1875576e2828884e71bd64",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17807,10 +17900,10 @@
{
"source": "docs/document/en/advanced/property.html",
"route": "/document/en/advanced/property.html",
"sha256Lf": "5fb1b32907c402c28d41d137e94867bc78e21fc386004be0c91b76b4ed7a78d0",
"sha256Lf": "47c24a65c95436fa44dd0c35879cccb48527b7d4a7e6abfd062e3b4d1923fb36",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17820,10 +17913,10 @@
{
"source": "docs/document/en/component/contextmenu.html",
"route": "/document/en/component/contextmenu.html",
"sha256Lf": "5d627e52eaa6eb5e23a4e457413075da44891d86ceeca5bfc7abf82323cc565f",
"sha256Lf": "9ab3fe20e8f246ee9e481c73c88479cdf18551451a75b644add3734ff18b431d",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17833,10 +17926,10 @@
{
"source": "docs/document/en/component/controls.html",
"route": "/document/en/component/controls.html",
"sha256Lf": "51d1d91c55ab2037dc5369f01671268147bc378f234f28d37431dd3ea10619c4",
"sha256Lf": "5ca63fbc78fa0beb96ca5f46e0f2e8ccef8622d8ab4cd2b24b72df619fd5a165",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17846,10 +17939,10 @@
{
"source": "docs/document/en/component/layers.html",
"route": "/document/en/component/layers.html",
"sha256Lf": "db32aa21944b2fede614cb334e10e851be477db41e15d2f278984aaf78d811bb",
"sha256Lf": "e5a27278d4264ec855d9785bb455a2be9eac3bf5b9add73fd36da3dea60508ec",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17859,10 +17952,10 @@
{
"source": "docs/document/en/component/setting.html",
"route": "/document/en/component/setting.html",
"sha256Lf": "f93d37f4e55b63b9104db19d23036fd85834ed4912f096d37424c29cf46307ad",
"sha256Lf": "fb64ad2c748396701ef1e30c5b6051129ce6d96c7e1715f43bf97dd95a5c93cd",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17872,10 +17965,10 @@
{
"source": "docs/document/en/index.html",
"route": "/document/en/",
"sha256Lf": "87c123295fda463867a49c51100efe6f7cceba3c782f5b382ac74ab84d6e1f30",
"sha256Lf": "f49b25ac62fd3867e955d3d42f45e366233d470b7f34111a4550a5c54ace200c",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17885,10 +17978,23 @@
{
"source": "docs/document/en/plugin/danmuku.html",
"route": "/document/en/plugin/danmuku.html",
"sha256Lf": "86621ce3fb3405c95218723fd6cbbc2cf5a6d891fb3ddb6b84c59b6b3c89e87b",
"sha256Lf": "7fecb59004df7b7d1589998f421258e62777875160e559777627b85c7dfa2a14",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
"status": "not-run",
"owner": "EX-03"
},
{
"source": "docs/document/en/plugin/hls-control.html",
"route": "/document/en/plugin/hls-control.html",
"sha256Lf": "a6ac6504b7a348ad20524c56521e5e563de295b87995e14226f4638972f040f0",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17898,10 +18004,10 @@
{
"source": "docs/document/en/start/i18n.html",
"route": "/document/en/start/i18n.html",
"sha256Lf": "992222ce0409b150179d6a0550af3c9246d788b8f12f77f2bdb2037492657fcc",
"sha256Lf": "95694df09bca853c0eeb8883c4b2db02c042ee29971503dad1fcd0e4a22595fe",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17911,10 +18017,10 @@
{
"source": "docs/document/en/start/option.html",
"route": "/document/en/start/option.html",
"sha256Lf": "0ffd030e774f314402529cf4c091b13d73d0530e0a8fb9772285cb39622ef9ec",
"sha256Lf": "23718b0df3dd56492e62635bacd55e504082d02585ebed88ad165b82fecd2ea8",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17924,10 +18030,10 @@
{
"source": "docs/document/index.html",
"route": "/document/",
"sha256Lf": "d538b202da9fa5543c5e54e5fb76907e133a0d33edf273f3eb360cb0a2623160",
"sha256Lf": "6fdc034c61750bf4da6de85d405a176fcea9046c81143bd4333593a080863c1e",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17937,10 +18043,23 @@
{
"source": "docs/document/plugin/danmuku.html",
"route": "/document/plugin/danmuku.html",
"sha256Lf": "bbcdebc4df8b3feb86b46d565f731a72c02bf367ec00c8e893b9745693bf5db1",
"sha256Lf": "c1bf198386743ba8a659dd56f520059a960d53791b2c5898634822d9a3330fee",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
"status": "not-run",
"owner": "EX-03"
},
{
"source": "docs/document/plugin/hls-control.html",
"route": "/document/plugin/hls-control.html",
"sha256Lf": "f4715b9fb6c4e7b7b5447e56dd26c546bc48b1446c1e2d3fd155dc03f97b4686",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17950,10 +18069,10 @@
{
"source": "docs/document/start/i18n.html",
"route": "/document/start/i18n.html",
"sha256Lf": "f40445700bc315b34b0d51a876d906954a302691259f66efcf3aa237f3791297",
"sha256Lf": "6e6371436fbb1b48936e3a789272f55617a92aa6506fd6f0d4b23cb97deea876",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -17963,10 +18082,10 @@
{
"source": "docs/document/start/option.html",
"route": "/document/start/option.html",
"sha256Lf": "9b8d61e7546ee088785c29dbf85b2f37f62e90d7b97d58ac9c934fccba46dd0f",
"sha256Lf": "5228248a85b0c6e85a4ce617c847c5b61e855181b1bce1dc93662f0c5599f997",
"kind": "generated-docs",
"scriptSources": [
"/document/assets/app.CUpGwB5x.js",
"/document/assets/app.C4kTwhag.js",
"/document/main.js",
"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8579453810848662"
],
@@ -18097,7 +18216,9 @@
],
"examplesRemoved": [],
"htmlAdded": [
"docs/document/en/plugin/danmuku.html"
"docs/document/en/plugin/danmuku.html",
"docs/document/en/plugin/hls-control.html",
"docs/document/plugin/hls-control.html"
],
"htmlRemoved": []
},
@@ -18264,7 +18385,7 @@
},
{
"file": "packages/artplayer-vitepress/docs/public/main.js",
"sha256Lf": "44b388d74b23e241b534498f53b615dbf2e91be077336ed31971aa09e65a8fd4"
"sha256Lf": "387e6b4d0dd4251b18fd1d45b45656e63aeba25e2a67cdb26da5f185e7359fb1"
},
{
"file": "packages/artplayer-vitepress/docs/vite.config.ts",
@@ -18272,7 +18393,7 @@
},
{
"file": "packages/artplayer-vitepress/docs/.vitepress/config.js",
"sha256Lf": "2363e83274e7f1cb0af335fb10a2933a65fd9eadd30a15facc844f83ef9a46a5"
"sha256Lf": "2c31669093e62bac0d59d874ea0181455e9117824712807ff64c04ce7d5eb693"
},
{
"file": "scripts/build-site-assets.mjs",
@@ -0,0 +1,93 @@
# SITE-HLS-01:HLS 双语指南与示例生命周期
新增独立 SITE-HLS-01,依赖已完成 SITE-03、PKG-HLS-04;SITE-04 保留全部旧依赖并
增加本任务。这里完成 HLS 使用文档和示例修复,不提前完成 SDK/设备/分发验收。
## 已复现的问题与改动
此前只有弹幕插件有独立双语页面,HLS 侧栏直接跳转编辑器,没有配置、类型、SDK
所有权和原生播放的完整指南。本轮新增两页并把两个侧栏指向本地指南;原示例 URL
仍在指南保留。公开 factory、配置名、同步 update、菜单名与分发入口没有改动。
直接执行原 `docs/assets/example/hls.control.js` 的受控回归得到 2 失败/1 通过:
1. 连续加载三个源后有三个 destroy 监听器;已被替换并销毁的实例会在最终销毁时
再次被调用。改为示例局部 SDK 变量和一个最终清理监听器,每次替换先释放旧实例。
2. Hls.isSupported() 为 false、video 支持原生 HLS 时仍注册控制插件,但没有
art.hls;插件后续 ready/update 的实例检查不适用。示例按固定 useHls 能力结果
安装插件,原生分支保留 video.src,完全不支持时保留原提示文字。
原有 .artplayer-app 容器、外部流地址、SDK 默认配置及全局命名保持不变。音轨标签
在 name 缺失时补充 lang/Audio 字符串回退;示例不引入共享全局 SDK 或新依赖。
这里只修复应用示例,不改变插件对调用方 SDK 所有权或缺少 art.hls 时的错误语义。
## 文档与维护
- 中英文逐项说明 quality/audio 的 control、setting、title、auto、getName,
省略显示选项意味着隐藏、设置面板还需播放器配置 setting:true。
- 原对象 formatter、可选索引和普通回调 this,重复标签合并、空列表清理、Auto
对应 currentLevel=-1;音轨没有虚拟 Auto 轨道。
- 解释同步 update 返回 undefined、SDK 自动刷新与没有事件能力时的手动刷新,
以及菜单选择完成不等于解码完成。
- 完整示例与原 demo 逐字一致,浏览器测试强制核对两页源代码;两页各有一个
Run Code,均传递固定 SDK URL 和原插件路径。用容器/媒体替换说明指导实际集成。
- 两个 TS 片段使用现有泛型 root 类型,不新增 /runtime 或要求升级调用方接口。
明确本分支修复未发布,保持 Firefox 已知问题与 Safari/native HLS 验证缺口。
- 包 README/ARCHITECTURE、站点 README 和浏览器测试维护入口同步;新增 Node
回归加入既有 test:unit,自动进入 CI。没有依赖或 Yarn 锁变化。
通过既有 build:llm、build:docs(含 build:site-assets)生成语料、语言路由与站点。
清单从 28 Markdown/37 HTML 增为 30 Markdown/39 HTML,中英各15页。生成产物
由构建器写入,没有手改 dist、uncompiled 或 VitePress HTML。package.json 只
追加一个已有测试脚本的文件参数;没有改包版本或 packageManager。
## 实际验证与限制
Windows、Node 24.21.0、Yarn Classic 1.22.22;SDK 1.5.17/1.7.2 来自已冻结 npm
归档,插件读取本地 dist 并记录哈希;源媒体从校验过的本地片段提供。源代码不
替换,测试只路由其外部媒体请求、静音播放,并观察实际 SDK destroy 次数。
| 检查 | 结果和含义 |
| --- | --- |
| 原示例 Node 回归 | 2 fail/1 pass,保留原失败日志 |
| 修复后 Node 示例及文档/导航工具 | 20 pass,其中示例3项;不把受控原生分支计成 Safari 播放 |
| 站点构建测试 | 7 pass;真实 VitePress 构建完成 |
| 两份原样 TS 片段 | TS 5.9.3 strict NodeNext、types:[]、skipLibCheck:false,各0诊断 |
| 两页生成内容与链接 | 每页一个 Run Code、18个本地链接,目标均存在 |
| 最终浏览器 | 30 pass、0 skip、0 retry;分项见下文 |
| 只读 lint/生成物检查/计划/风险 | 提交前通过,具体指纹见机器证据 |
浏览器分项:Chromium 153.0.8010.12 / Firefox 155.0 各8项,覆盖两种语言、两版
SDK、新旧核心的初次解码与时钟推进、换源后继续解码以及两个实例各销毁一次。
Hls 默认 enableWorker=true;本测试不采集 worker 输出,不单独证明未发生 SDK
worker fallback。Windows WebKit 26.6 的8项只核对不支持路径不安装插件、未创建SDK、
原提示和清理,不是 HLS 播放通过。另6项是三引擎的双语侧栏导航、文档加载与
Run Code 两个库/源代码参数;它们不打开远端编辑器执行播放。
首轮16 pass/8 fail,失败均为 WebKit 测试误把 notice.show 的布尔 getter 当作
文字;随后改查实际 .art-notice 文本,重新执行30项全部通过。未改产品 notice
语义、未放宽等待或播放断言。首轮/最终报告与 trace 目录分别保留。新增 lint
首次发现 import/格式问题,修正后通过;最终导航测试仅由 lint 改正字符串引号,
断言内容与通过浏览器时相同。
最终计划/风险校验、风险回归2项、站点清单和工具链严格检查通过。暂存源码
diff --check 通过;完整检查报告两个新HTML各两行由VitePress模板产生的缩进空白。
保留构建器原始输出,不手改生成HTML。包README更新会改变下一次打包内容,
最终候选仍须重新绑定完整验收证据,不能复用旧tarball的发布结论。
实际 localhost:8082 页面也通过内置浏览器打开,编辑器出现新 useHls/destroyHls
代码,视频元数据为10:48,画质和英语/西班牙语/解说菜单可见,控制台出现
loadedmetadata/loadeddata/canplay。一次整体浏览器状态查询失败,重新选择同一
tab恢复。该观察没有验证播放按钮、换源或最终销毁,浏览器版本未由此次工具返回,
只计页面加载/菜单证据。没有改写或重启原8082服务。
## 交接与回退
详情见[机器证据](../baselines/hls-docs-validation.json)。保持两个指南完整示例与
docs/assets/example/hls.control.js 一致;修改后运行 test/hls-example.test.js、
document-hls.spec.js、document-site.spec.js,并重建语料与站点、刷新站点清单。
HLS-EXAMPLE-01 在本任务关闭。PKG-HLS-SDK-01 的原生崩溃和1.7.2停滞保持 open;
原生HLS/完整组合/SDK错误恢复/外部媒体与安装包验收仍归既有任务,不因本页完成关闭。
回退本提交会恢复原示例、删除双语指南与导航并恢复相应生成内容;播放器包运行时
及公开类型未变化。本轮不推送、部署或发布。
+12 -5
View File
@@ -2,9 +2,9 @@
> 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 271 项,范围 22 个包及工作区/示例。
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 272 项,范围 22 个包及工作区/示例。
状态:todo 43 / doing 21 / blocked 0 / done 207 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
状态:todo 43 / doing 21 / blocked 0 / done 208 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
@@ -26,7 +26,7 @@
| artplayer-plugin-danmuku-mask | 1.1.0 | PKG-MASK-01, PKG-MASK-02, PKG-MASK-03, PKG-MASK-04, PKG-MASK-05, PKG-MASK-06, ENG-LINT-01, PKG-DANMUKU-MASK-LOAD-01 |
| artplayer-plugin-dash-control | 1.1.0 | PKG-DASH-01, PKG-DASH-02, PKG-DASH-03, PKG-DASH-04, PKG-DASH-SEEK-01, PKG-DASH-MENU-01, PKG-DASH-05, PKG-DASH-06, PKG-DASH-CLEANUP-01 |
| artplayer-plugin-document-pip | 1.1.0 | PKG-DPIP-01, PKG-DPIP-02, PKG-DPIP-03, PKG-DPIP-04, PKG-DPIP-05, PKG-DPIP-06 |
| artplayer-plugin-hls-control | 1.1.0 | PKG-HLS-01, PKG-HLS-02, PKG-HLS-03, PKG-HLS-04, PKG-HLS-SDK-01, PKG-HLS-05, PKG-HLS-06, PKG-HLS-PACK-01 |
| artplayer-plugin-hls-control | 1.1.0 | PKG-HLS-01, PKG-HLS-02, PKG-HLS-03, PKG-HLS-04, PKG-HLS-SDK-01, PKG-HLS-05, PKG-HLS-06, SITE-HLS-01, PKG-HLS-PACK-01 |
| artplayer-plugin-jassub | 1.1.0 | PKG-JASSUB-01, PKG-JASSUB-02, PKG-JASSUB-03, PKG-JASSUB-04, PKG-JASSUB-05, PKG-JASSUB-06, PKG-JASSUB-07, PKG-JASSUB-08, PKG-JASSUB-09, PKG-JASSUB-10 |
| artplayer-plugin-multiple-subtitles | 1.2.0 | PKG-MULTI-SUB-01, PKG-MULTI-SUB-02, PKG-MULTI-SUB-03, PKG-MULTI-SUB-04, PKG-MULTI-SUB-07, PKG-MULTI-SUB-08, PKG-MULTI-SUB-05, PKG-MULTI-SUB-06, PKG-MULTI-SUB-09, PKG-MULTI-SUB-10, PKG-MULTI-SUB-11 |
| artplayer-plugin-vast | 1.2.0 | PKG-VAST-01, PKG-VAST-02, PKG-VAST-03, PKG-VAST-04, PKG-VAST-05, PKG-VAST-06, PKG-VAST-07, ENG-LINT-02 |
@@ -35,7 +35,7 @@
| artplayer-proxy-mediabunny | 1.2.0 | PKG-MB-01, PKG-MB-02, PKG-MB-03, PKG-MB-04, PKG-MB-05, PKG-MB-06, PKG-MB-07, PKG-MB-08, PKG-MB-09, PKG-MB-10 |
| artplayer-tool-iframe | 1.1.0 | PKG-IFRAME-01, PKG-IFRAME-02, PKG-IFRAME-03, PKG-IFRAME-04, PKG-IFRAME-05, PKG-IFRAME-06 |
| artplayer-tool-thumbnail | 4.4.0 | PKG-TOOL-THUMB-01, PKG-TOOL-THUMB-02, PKG-TOOL-THUMB-03, PKG-TOOL-THUMB-04, PKG-TOOL-THUMB-05, PKG-TOOL-THUMB-06, PKG-TOOL-THUMB-07 |
| artplayer-vitepress | 1.1.0 | SITE-01, SITE-SMOKE-01, SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01, SITE-03, SITE-DANMUKU-01, SITE-04, SITE-05, SITE-06, SITE-07, SITE-VCONSOLE-01, ENG-LINT-02, SITE-CONSOLE-01 |
| artplayer-vitepress | 1.1.0 | SITE-01, SITE-SMOKE-01, SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01, SITE-03, SITE-DANMUKU-01, SITE-HLS-01, SITE-04, SITE-05, SITE-06, SITE-07, SITE-VCONSOLE-01, ENG-LINT-02, SITE-CONSOLE-01 |
## 0 规划
@@ -408,7 +408,7 @@
| SITE-BUILD-01 | artplayer, artplayer-vitepress, workspace<br>重构 i18n 与文档构建的暂存、替换和 Yarn 编排 | SITE-AI-DOCS-01 | 严格 TS 构建模块、编译后替换产物与失败回退,固定 Yarn 子进程和旧构建入口 | 旧 i18n 删除后失败有复现;失败不改变既有产物;语言集合、UMD/ESM/历史别名兼容;文档子进程退出码准确并完成真实 VitePress 构建;不隐式翻译、不修改播放器 API | M | done |
| SITE-03 | artplayer-vitepress<br>整理 i18n/文档/LLM 生成流程 | SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01 | build-i18n/build-docs/build-llm/trans-docs 的任务边界和错误处理;桌面 common.js 自有 UI 的 TS 迁移与模块拆分 | 原命令兼容、生成可复现,翻译步骤不隐式运行远程服务;覆盖移动 loader 失败恢复 define、脚本依赖顺序、localhost/127.0.0.1 Run Code 目标和语言重定向;桌面剩余 UI 完成 TS 职责拆分并回归运行、导入与持久设置 | M | done |
| SITE-DANMUKU-01 | artplayer-vitepress, artplayer-plugin-danmuku<br>核对弹幕双语指南并补齐英文入口 | SITE-03, PKG-DANMUKU-07 | 按实现修正中文调用说明,新增英文完整选项/API/热力图/类型指南和导航;同步生成站点与LLM资料,新增双语示例浏览器验收 | 旧中文URL和标题保留;实际方法返回、加载语义、回调与points边界准确;双语页面、Run Code及示例实测,完整插件组合和设备验收不冒充完成 | L | done |
| SITE-04 | artplayer-vitepress<br>交叉核对逐包持续维护的文档 | CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08, SITE-DANMUKU-01 | 已随实现更新的中文/英文 API、包内实现地图、旧 JS 示例及已知能力限制的全包核对 | 未把缺环境的能力写成已验证,静态核对不等待设备任务;最终 demo 仍由 EX-03 验收;按 SITE-01 声明成员/候选标题清单逐项语义核对,补齐缺失的双语插件说明和 Danmuku 英文入口 | M | todo |
| SITE-04 | artplayer-vitepress<br>交叉核对逐包持续维护的文档 | CORE-21, SITE-03, PKG-CHAPTER-04, PKG-AMBILIGHT-04, PKG-AUDIO-04, PKG-AUTO-THUMB-04, PKG-VTT-THUMB-04, PKG-HLS-04, PKG-DASH-04, PKG-MULTI-SUB-04, PKG-JASSUB-04, PKG-MASK-04, PKG-ASR-04, PKG-ADS-04, PKG-VAST-04, PKG-CAST-04, PKG-DPIP-04, PKG-CANVAS-04, PKG-IFRAME-04, PKG-TOOL-THUMB-04, PKG-DANMUKU-06, PKG-MB-08, SITE-DANMUKU-01, SITE-HLS-01 | 已随实现更新的中文/英文 API、包内实现地图、旧 JS 示例及已知能力限制的全包核对 | 未把缺环境的能力写成已验证,静态核对不等待设备任务;最终 demo 仍由 EX-03 验收;按 SITE-01 声明成员/候选标题清单逐项语义核对,补齐缺失的双语插件说明和 Danmuku 英文入口 | M | todo |
| SITE-05 | artplayer-vitepress<br>构建文档站和验证链接/示例 | SITE-04, EX-01, EX-02, SITE-07, SITE-VCONSOLE-01, SITE-CONSOLE-01 | VitePress 构建、链接与嵌入 demo 检查 | 文档构建、链接、嵌入路径与声明注入通过;真实完整 demo 保留 EX-03 独立门槛;核对 ENG-PM-01 登记的搜索 peer 范围和真实搜索行为 | M | todo |
| SITE-06 | artplayer-vitepress<br>文档站交付验收 | SITE-05 | 维护指南和站点变更记录 | 未手改 generated 目录,旧 URL 可用、部署与检查分离 | M | todo |
| SITE-07 | artplayer-vitepress, workspace<br>整理站点第三方资产与来源说明 | SITE-01 | Monaco/vConsole/console bundle/字体和样本的冻结来源、可复现构建或替代与站点 notices | 接续 SITE-01 的字节与换行差异证据;完整许可随实际分发,consoleLog/global/CSS/worker 与旧 URL 兼容;缺字体/媒体使用依据明确处置;资产变更后执行编辑器/移动/字幕/示例回归,不以来源指纹替代授权或运行证据 | H | doing |
@@ -418,6 +418,12 @@
| SITE-VCONSOLE-01 | artplayer-vitepress, workspace<br>修复 vConsole 日志帧与延迟面板销毁竞态 | SITE-01 | 冻结上游 bundle 的可复现 TS 生命周期补丁、旧红新绿回归、来源及生成检查;销毁后虚拟列表布局续段停止 | 最后日志插件移除后取消 RAF 并隔离旧队列;延迟面板不得写入已销毁或替换插件;三引擎移动页与 UMD 入口通过,维护声明与原有许可缺口分别记录;原生 ResizeObserver 布局与挂起 timer 旧红新绿 | M | done |
| SITE-CONSOLE-01 | artplayer-vitepress, workspace<br>迁移控制台自有 TS 源码并修复日志生命周期 | SITE-03 | 从冻结 console.js 恢复自有入口/视图的 TS 模块、受控第三方边界与可验证构建;修复滚动回调、多容器 hook 所有权和原生 Error 消息丢失 | 保留 consoleLog 返回组件、React/ReactDOM/Parcel 全局及 DOM/CSS/日志对象语义;旧版复现与候选正确行为分开验证;多容器、卸载/重挂、外部 hook、错误/滚动及真实编辑器组合通过;架构与生成文档同批更新,不以冻结 vendor 代替 SITE-07 许可闭环 | H | done |
## 6 文档和示例
| ID | 范围 / 步骤 | 前置依赖 | 交付物 | 验收条件 | 风险 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| SITE-HLS-01 | artplayer-plugin-hls-control, artplayer-vitepress<br>补齐HLS双语指南并修复示例SDK生命周期 | SITE-03, PKG-HLS-04 | 双语HLS配置/类型/刷新/所有权指南,原示例换源清理和原生回退修复,生成站点与证据 | 同源示例回归复现旧问题并通过,真实SDK播放/换源/销毁与文档导航验证,保留HLS原生异常和设备门槛 | M | done |
## 7 工具链与性能
| ID | 范围 / 步骤 | 前置依赖 | 交付物 | 验收条件 | 风险 | 状态 |
@@ -661,6 +667,7 @@
- SITE-BUILD-01: [记录](changes/2026-09-14-SITE-BUILD-01-staged-builds.md) [记录](baselines/site-build-validation.json)
- SITE-03: [记录](changes/2026-09-14-SITE-03-desktop-editor.md) [记录](baselines/site-editor-validation.json)
- SITE-DANMUKU-01: [记录](changes/2026-09-15-SITE-DANMUKU-01-guides.md) [记录](baselines/danmuku-docs-validation.json)
- SITE-HLS-01: [记录](changes/2026-09-15-SITE-HLS-01-guides.md) [记录](baselines/hls-docs-validation.json)
- SITE-07: [记录](site-inventory.md) [记录](baselines/site-provenance.json) [记录](changes/2026-09-14-SITE-07-vendor-notices.md) [记录](baselines/site-notices-checkpoint.json) [记录](baselines/site-codicons-provenance.json) [记录](baselines/site-codicons-validation.json) [记录](changes/2026-09-15-SITE-07-codicons.md) [记录](baselines/vconsole-notices-provenance.json) [记录](baselines/vconsole-notices-validation.json) [记录](changes/2026-09-15-SITE-07-vconsole-notices.md) [记录](console-modernization.md) [记录](baselines/site-console-inventory.json) [记录](baselines/site-console-validation.json) [记录](changes/2026-09-15-SITE-07-console-baseline.md) [记录](baselines/console-feed-provenance.json) [记录](changes/2026-09-15-SITE-07-console-feed-source.md) [记录](baselines/console-commonjs-provenance.json) [记录](changes/2026-09-15-SITE-07-console-commonjs.md) [记录](baselines/console-esm-provenance.json) [记录](changes/2026-09-15-SITE-07-console-esm.md) [记录](baselines/console-embedded-notices.json) [记录](baselines/console-notices-validation.json) [记录](changes/2026-09-15-SITE-07-console-notices.md) [记录](baselines/console-embedded-sources.json) [记录](baselines/console-embedded-validation.json) [记录](changes/2026-09-15-SITE-07-console-embedded-sources.md) [记录](baselines/console-derived-attribution.json) [记录](baselines/console-derived-validation.json) [记录](changes/2026-09-15-SITE-07-console-derived-attribution.md) [记录](baselines/console-stackoverflow-provenance.json) [记录](baselines/console-stackoverflow-validation.json) [记录](changes/2026-09-15-SITE-07-console-stackoverflow.md) [记录](baselines/console-shallowequal-validation.json) [记录](changes/2026-09-15-SITE-07-console-shallowequal.md) [记录](console-notice-review.md) [记录](baselines/console-notice-review-validation.json) [记录](changes/2026-09-15-SITE-07-console-notice-review.md) [记录](baselines/monaco-typescript-provenance.json) [记录](baselines/monaco-typescript-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-typescript.md) [记录](baselines/monaco-languages-provenance.json) [记录](baselines/monaco-languages-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-languages.md) [记录](baselines/monaco-language-notices.json) [记录](baselines/monaco-language-notices-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-language-notices.md) [记录](baselines/monaco-modes-provenance.json) [记录](baselines/monaco-modes-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-modes.md) [记录](baselines/monaco-basic-provenance.json) [记录](baselines/monaco-basic-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-basic.md) [记录](baselines/monaco-core-origins-provenance.json) [记录](baselines/monaco-core-origins-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-origins.md) [记录](baselines/monaco-core-build-provenance.json) [记录](baselines/monaco-core-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-core-build.md) [记录](baselines/monaco-contributions-provenance.json) [记录](baselines/monaco-contributions-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-contributions.md) [记录](baselines/monaco-css-build-provenance.json) [记录](baselines/monaco-css-build-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-css.md) [记录](baselines/monaco-node-path-provenance.json) [记录](baselines/monaco-node-path-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-node-path.md) [记录](changes/2026-09-15-SITE-07-monaco-dom.md) [记录](baselines/monaco-dom-origins-validation.json) [记录](changes/2026-09-15-SITE-07-monaco-unicode.md) [记录](baselines/monaco-unicode-provenance.json) [记录](baselines/monaco-unicode-validation.json)
- EX-01: [记录](changes/2026-09-14-EX-01-react-consumer.md) [记录](baselines/react-consumer-validation.json) [记录](scripts/react-consumer.mjs)
- EX-02: [记录](changes/2026-09-14-EX-02-vue-consumer.md) [记录](baselines/vue-consumer-validation.json) [记录](scripts/vue-consumer.mjs)
+17
View File
@@ -1,5 +1,22 @@
# 进度与证据
## SITE-HLS-01 双语指南与示例修复
原HLS示例已复现换源累积destroy监听器及原生回退误装SDK插件,回归2失败/1通过。
现在每个实例销毁一次、每个播放器只有一个清理监听器,原生分支不安装HLS控制插件。
新增中英文指南与侧栏,配置、同步刷新、SDK所有权、类型和未发布边界明确;
两个完整示例与原demo逐字一致。站点增为30 Markdown/39 HTML,中英各15页。
最终浏览器30通过:16真实SDK播放/换源清理、8 WebKit不支持路径、6双语导航。
首轮8个WebKit失败来自测试误读notice.show getter,修正后重跑;保留原报告。
Node/文档工具20通过、站点构建测试7通过、两个原样TS片段strict NodeNext零诊断,
lint与生成检查通过。内置浏览器8082观察到新代码、视频元数据和画质/音轨菜单,
该观察只算页面加载。详情见[记录](changes/2026-09-15-SITE-HLS-01-guides.md)和[证据](baselines/hls-docs-validation.json)。
SITE-HLS-01完成,HLS-EXAMPLE-01关闭;SDK原生崩溃/停滞和设备任务保持未完成。
208 done、21 doing、43 todo,总272。无插件生产源码/公开类型/版本/锁文件变更,
新增测试已进入既有CI测试脚本;没有推送、部署或发布。
## PKG-HLS-SDK-01 原生异常取证检查点
直接 Hls 1.5.17/worker/HTTP 场景六次中两次在 destroy 前页面崩溃;
+1
View File
@@ -283,3 +283,4 @@
| ASR-MEDIA-01 | resolved / 已复现 | ASR accepts obsolete recognition after native media error without pause | PKG-ASR-10, PKG-ASR-05 |
| THUMB-CLEANUP-01 | resolved / 已复现 | Thumbnail 清理吞掉 falsy 监听器异常或覆盖第一个异常值 | PKG-TOOL-THUMB-07, PKG-TOOL-THUMB-04 |
| DASH-CLEANUP-01 | resolved / 已复现 | DASH 菜单和 SDK 清理吞掉 falsy 异常或丢失首个错误 | PKG-DASH-CLEANUP-01, PKG-DASH-05 |
| HLS-EXAMPLE-01 | resolved / 已复现 | HLS示例换源累积销毁监听器且原生回退仍安装SDK控制插件 | SITE-HLS-01, EX-03 |
+25
View File
@@ -6660,6 +6660,31 @@
"refactor/baselines/dash-cleanup-errors-validation.json"
],
"resolutionRationale": "Corrected public beforeUnmount input reproduces swallowed values against the prepatch artifact. Separate threw and Object.is assertions cover all seven values. Rebuilt and independently installed artifacts pass lifecycle/DOM/SDK regressions; public declarations are unchanged. This resolves the cleanup defect only, not full package device/release acceptance."
},
{
"id": "HLS-EXAMPLE-01",
"title": "HLS示例换源累积销毁监听器且原生回退仍安装SDK控制插件",
"confirmation": "reproduced",
"status": "resolved",
"owners": [
"SITE-HLS-01",
"EX-03"
],
"evidence": [
"docs/assets/example/hls.control.js",
"test/hls-example.test.js",
"test/browser/document-hls.spec.js",
"refactor/changes/2026-09-15-SITE-HLS-01-guides.md",
"refactor/baselines/hls-docs-validation.json"
],
"compatibleResolution": "仅修正示例:固定能力分支决定是否注册插件,局部SDK变量负责替换释放,一个播放器销毁监听器释放当前SDK;旧插件API/错误语义和SDK默认配置不变。",
"closureCriteria": "原示例可复现重复清理与错误插件注册;修复后受控回归和真实SDK新旧核心播放/换源/销毁通过;原生播放设备范围单独保留。",
"workspaceState": "Old demo 2 fail/1 pass; corrected regression 3 pass. Real SDK/browser replacement checks 16 pass, Windows WebKit unsupported setup 8 pass, docs navigation 6 pass. Native HLS branch uses a controlled unit host, not a Safari device.",
"resolutionEvidence": [
"refactor/changes/2026-09-15-SITE-HLS-01-guides.md",
"refactor/baselines/hls-docs-validation.json"
],
"resolutionRationale": "Actual demo code is used by regression and both runnable guides. Each replaced/final SDK is destroyed once; when Hls.js is unsupported no incompatible control plugin is installed. Local 8082 connected-browser readiness also observed. Separate Firefox native crashes, grouped playback stall and device acceptance remain open."
}
]
}
+23 -1
View File
@@ -4437,6 +4437,27 @@
"baselines/danmuku-docs-validation.json"
]
},
{
"id": "SITE-HLS-01",
"phase": "6 文档和示例",
"title": "补齐HLS双语指南并修复示例SDK生命周期",
"scope": [
"artplayer-plugin-hls-control",
"artplayer-vitepress"
],
"dependsOn": [
"SITE-03",
"PKG-HLS-04"
],
"status": "done",
"risk": "M",
"deliverable": "双语HLS配置/类型/刷新/所有权指南,原示例换源清理和原生回退修复,生成站点与证据",
"acceptance": "同源示例回归复现旧问题并通过,真实SDK播放/换源/销毁与文档导航验证,保留HLS原生异常和设备门槛",
"evidence": [
"changes/2026-09-15-SITE-HLS-01-guides.md",
"baselines/hls-docs-validation.json"
]
},
{
"id": "SITE-04",
"phase": "6 文档与消费者",
@@ -4467,7 +4488,8 @@
"PKG-TOOL-THUMB-04",
"PKG-DANMUKU-06",
"PKG-MB-08",
"SITE-DANMUKU-01"
"SITE-DANMUKU-01",
"SITE-HLS-01"
],
"status": "todo",
"risk": "M",