(Chrome 扩展)在后台播放音乐

问题描述 投票:0回答:3

我正在 Chrome 中创建音乐播放器扩展,并且由于 V2 已被淘汰,所以我正在使用 Manifest V3。然而,由于 V3 和 Service Worker 存在一些限制,例如无法访问 DOM,我有一段时间想知道是否以及如何在后台播放音乐(扩展名未显示)。有人知道如何用 MV3 实现吗?

javascript google-chrome google-chrome-extension chrome-extension-manifest-v3
3个回答
2
投票

在后台(又名服务工作者)你不能。
现在有2-3种选择。 你可以:

  1. 在新选项卡\窗口中打开播放声音的扩展页面。
  2. 将内容脚本注入到现有的选项卡中,该选项卡执行以下操作: 与步骤 #1 相同。
  3. 等待 Chrome 稳定频道添加“offScreenDocument” (如果您选择最后一个选项,请为自己准备一张舒适的新扶手椅)

编辑

回应您的正义感...
我个人建议第一个选项。 我在 Chrome Canary 中测试了第三个选项,但我从未测试过第二个选项。
对重新启动音乐(遵循选项#2)的担忧可以通过以编程方式注入并检查(通过消息交换)是否存在已经在播放的注入脚本来缓解。
但是,如果注入 cs 的选项卡已关闭,则有必要在另一个选项卡上注入或通过实际“跳转”(如您所写)复制来创建一个新选项卡。
另一个痛处是,按照方法 #2,你必须定义你的 c.s.将“match”子句设置为“” 这可能会大大延长 CWS 上可能发布内容的等待时间,并“吓到”您的用户。
另一个不太重要的方面是,如果没有更多适合“注入”的标签,音乐就会停止。
最后,我想知道选项卡标签上的小音频图标是否出现在注入的选项卡中(看起来不太好)


0
投票

chrome://flags/ 转到此链接并重置所有内容。为我工作


0
投票

这是我编写的一个在后台播放音乐的 Chrome 扩展示例:

https://chromewebstore.google.com/detail/music-for-programming/kdmmpbhgjfcabbcippaocnajeobjlldp

在 Service Worker 中,您可以使用 chrome.offscreen

 创建 
{reasons: [AUDIO_PLAYBACK]}
 文档
。然后,您可以连续播放该离屏文档中的音频/音乐。

© www.soinside.com 2019 - 2024. All rights reserved.