【发布时间】:2021-10-27 04:48:44
【问题描述】:
描述问题 我正在尝试调用 JavaScript 函数,但仅当 if 条件在 Python 中计算为 True 时。我正在使用 Pygame 和 Eel 开发一个音乐播放器项目,我想调用 JS 函数来自动更改歌曲封面图像,而无需在上一首歌曲结束时单击按钮,这是使用 pygame.mixer.music.get_busy() 找到的在 python 中,当我想调用 'eel.fine()' 但我确定它为什么不起作用或如何像 Eel 新手一样完成这项工作
预期当条件变为真时,函数 find 应该从 python 代码中调用,即只想在一首歌结束时更改封面图片 代码 sn-p(s) 这是一些可以轻松用于重现问题或了解我需要帮助的代码。注意:我删除了大部分代码只是为了便于理解,只添加了与代码流相关的部分,我需要帮助。
import eel
from pygame import mixer
eel.init('web')
js='function $fine(){document.getElementById("spl").live("click");}'
def my_update():
if pausev and not fine:
if not start and not mixer.music.get_busy():
#ok=js2py.eval_js(js)
# ok()
print("booom")
eel.fine() # This is the part I need help with
play()
print('new song up')
else:
print('old playing still')
else:
print('strictly paused')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Aishu's Magic-Music</title>
<link href="style.css" rel="stylesheet">
<script type="text/javascript" src="/eel.js"></script>
<script type="text/javascript" src="main.js"></script>
<script type="text/javascript">
eel.expose(fine);
function fine(){
document.getElementById("spl").live("click");
}
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
</head>
<body>
<section class="wellcome_area clearfix" id="home">
<div class="container h-100">
<div class="row h-100 align-items-center">
<div class="col-12 col-md">
<div class="get-start-area">
<form class="form-inline">
<input type="button" id="repeat" class="submit" value="▶ Shower" onclick="generateQRCode(7)">
<input type="button" id="spl" class="submit" value="▶ Play" onclick="generateQRCode(2)">
<input type="button" class="submit" value=">> Skip" onclick="generateQRCode(3)">
</form>
</div>
</div>
</div>
</div>
<div class="welcome-thumb ">
<img id="qr" class="headshot headshot-1" src="img/bg-img/play.jpg" width="50%">
</div>
</section>
</body>
</html>
// main.js
var whatever=1;
var loop_check=1;
function generateQRCode(data) {
if(data==2){
change()
if(whatever==1){
eel.generate_qr(1)(setImage);
whatever=0;
}
else
{
eel.generate_qr(data)(setImage)
}
}
else if(data==7){
change_loop()
eel.generate_qr(data)(setImage)
}
else{
eel.generate_qr(data)(setImage)
}
}
function change()
{
var elem = document.getElementById("spl");
if (elem.value=="|| Pause") elem.value = "▶ Play";
else elem.value = "|| Pause";
}
function setImage(base64) {
document.getElementById("qr").src = base64
}
更新 它部分工作并且不能按预期工作 是我正常运行时遇到的错误
而当我打开检查时的输出 - 控制台
桌面:
- 操作系统:Windows
- 浏览器铬
- 版本 94
【问题讨论】:
标签: javascript python websocket pygame eel