Spaces:
Sleeping
Sleeping
Youngsun Lim
commited on
Commit
Β·
82facbf
1
Parent(s):
6b5fab3
dataset update
Browse files
app.py
CHANGED
|
@@ -350,36 +350,62 @@ with gr.Blocks(fill_height=True, css=GLOBAL_CSS) as demo:
|
|
| 350 |
gr.HTML("""
|
| 351 |
<script>
|
| 352 |
(function(){
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 361 |
v.addEventListener('volumechange', () => {
|
| 362 |
if (!v.muted || v.volume > 0) { v.muted = true; v.volume = 0.0; }
|
| 363 |
});
|
| 364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 365 |
});
|
| 366 |
}
|
| 367 |
-
|
|
|
|
| 368 |
muteAll(document);
|
| 369 |
-
|
| 370 |
-
|
| 371 |
-
|
| 372 |
-
|
| 373 |
-
muteAll(m.target);
|
| 374 |
-
m.addedNodes && m.addedNodes.forEach(n => muteAll(n));
|
| 375 |
-
}
|
| 376 |
-
}
|
| 377 |
-
});
|
| 378 |
-
obs.observe(document.body, {subtree:true, childList:true});
|
| 379 |
})();
|
| 380 |
</script>
|
| 381 |
""")
|
| 382 |
|
|
|
|
| 383 |
order_state = gr.State(value=[]) # v4μμλ value= κΆμ₯
|
| 384 |
ptr_state = gr.State(value=0)
|
| 385 |
cur_video_id = gr.State(value="")
|
|
|
|
| 350 |
gr.HTML("""
|
| 351 |
<script>
|
| 352 |
(function(){
|
| 353 |
+
// λͺ¨λ μΌλ° DOM + Shadow DOM μμ <video>κΉμ§ μ°Ύμ μμκ±°
|
| 354 |
+
function eachNodeWithShadow(root, fn){
|
| 355 |
+
const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT);
|
| 356 |
+
fn(root);
|
| 357 |
+
while (walker.nextNode()){
|
| 358 |
+
const el = walker.currentNode;
|
| 359 |
+
fn(el);
|
| 360 |
+
if (el.shadowRoot){
|
| 361 |
+
eachNodeWithShadow(el.shadowRoot, fn);
|
| 362 |
+
}
|
| 363 |
+
}
|
| 364 |
+
}
|
| 365 |
+
|
| 366 |
+
function muteVideoEl(v){
|
| 367 |
+
try{
|
| 368 |
+
// μ¬μ μ μ λ°λμ muted μμ±μ΄ μμ΄μΌ λΈλΌμ°μ κ° μ리 μ°¨λ¨
|
| 369 |
+
v.muted = true;
|
| 370 |
+
v.volume = 0.0;
|
| 371 |
+
v.setAttribute('muted','');
|
| 372 |
+
v.setAttribute('playsinline','');
|
| 373 |
+
v.setAttribute('preload','metadata');
|
| 374 |
+
|
| 375 |
+
// μ¬μ©μκ° λ³Όλ₯¨/μμκ±°λ₯Ό λ°κΏλ λ€μ 0μΌλ‘
|
| 376 |
+
if (!v._muteHooked){
|
| 377 |
v.addEventListener('volumechange', () => {
|
| 378 |
if (!v.muted || v.volume > 0) { v.muted = true; v.volume = 0.0; }
|
| 379 |
});
|
| 380 |
+
v.addEventListener('play', () => {
|
| 381 |
+
v.muted = true; v.volume = 0.0;
|
| 382 |
+
});
|
| 383 |
+
v._muteHooked = true;
|
| 384 |
+
}
|
| 385 |
+
}catch(e){}
|
| 386 |
+
}
|
| 387 |
+
|
| 388 |
+
function muteAll(root){
|
| 389 |
+
eachNodeWithShadow(root || document, (el)=>{
|
| 390 |
+
if (el.tagName && el.tagName.toLowerCase() === 'video'){
|
| 391 |
+
muteVideoEl(el);
|
| 392 |
+
}else if (el.querySelectorAll){
|
| 393 |
+
el.querySelectorAll('video').forEach(muteVideoEl);
|
| 394 |
+
}
|
| 395 |
});
|
| 396 |
}
|
| 397 |
+
|
| 398 |
+
// μ΄κΈ° λ λμμ
|
| 399 |
muteAll(document);
|
| 400 |
+
|
| 401 |
+
// μ΄ν DOM λ³ν κ°μ(Shadow DOM λ΄λΆ λ³νλ ν¬μ°©)
|
| 402 |
+
const obs = new MutationObserver(() => muteAll(document));
|
| 403 |
+
obs.observe(document, {subtree:true, childList:true, attributes:false});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 404 |
})();
|
| 405 |
</script>
|
| 406 |
""")
|
| 407 |
|
| 408 |
+
|
| 409 |
order_state = gr.State(value=[]) # v4μμλ value= κΆμ₯
|
| 410 |
ptr_state = gr.State(value=0)
|
| 411 |
cur_video_id = gr.State(value="")
|