使用伪音符流式传输页面的音频

时间:2019-04-13 11:13:41

标签: node.js audio audio-streaming puppeteer

假设我转到播放音频的页面。是否有任何方法可以显示和捕获来自此木偶页面的音频流?我不想简单地保存它,而是可以访问流,我可以不断通过其他内容(例如使用discord api到服务器)不断地

GitHub官方仓库中已经存在类似的问题:startScreencast feature?

但是我只是想访问页面实例的音频管道(最好是stream)。有什么办法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,因此开发了一个 npm 包 puppeteer-stream。 请注意,这仅适用于有头模式,因为无头模式不支持扩展。我还制作了一个 example 如何流式传输不和谐。

答案 1 :(得分:0)

您可以像这样在目标页面中运行代码:

await page.evaluate(() => {
  var audio = document.getElementById('audio');

  audio.onplay = function() {
    // Set the source of one <audio> element to be a stream from another.
    var stream = audio.captureStream();
    // This is your audio stream object...
  };
});

更多信息:

page.evaluate() spec

Capture a MediaStream From a Canvas, Video or Audio Element