小编dem*_*dem的帖子

如何在函数内等待事件侦听器?

我正在尝试等待单击按钮,然后再继续执行另一个函数。

async function foo() {
    // code before
    await ??? // wait for start button to be clicked before proceeding
    // code after
}

startButton.addEventListener("click", function() {
    return new Promise(); // ???
}, false);
Run Code Online (Sandbox Code Playgroud)

如何在另一个函数中使用事件侦听器?

javascript asynchronous addeventlistener async-await

12
推荐指数
1
解决办法
2万
查看次数

如何从 Screen Capture Web API 存储/下载录制内容?

我正在使用屏幕捕获 API,并尝试将最终捕获保存到视频文件(WebM、MP4 等)中。我有这两个 JavaScript 函数:

async function startCapture() {
    try {
      videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
    } catch(err) {
      console.error("Error: " + err);
    }
}

function stopCapture() {
    let tracks = videoElem.srcObject.getTracks();
    tracks.forEach(track => track.stop());
    videoElem.srcObject = null;
}
Run Code Online (Sandbox Code Playgroud)

开始捕获时,视频显示正常,但我不确定如何实际存储其内容。videoElem是 aPromise解析为 a MediaStreamtracks是一个对象数组MediaStreamTrack。这是我第一次进行任何类型的 Web 开发,所以我有点迷失!

javascript screen-capture mediastream get-display-media

2
推荐指数
1
解决办法
2881
查看次数