小编Dan*_*anF的帖子

适用于iPhone的实时音频循环切换

我正在尝试找到播放音频无缝循环的最佳方式,用户可以在尽可能短的时间内切换到另一个音频,并提供相当数量(30-150)的非常短的循环.OpenAL是否足以满足这一要求,还是需要深入研究音频单元?Apple文档说,对于像仪器这样的实时反馈,Audio Units是正确的选择.

我只想得到社群对此的意见,任何链接和示例项目都将不胜感激.

iphone openal core-audio audiounit

5
推荐指数
1
解决办法
1061
查看次数

如何在其他页面脚本之前使Firefox附加内容脚本注入并运行脚本?

我正在开发浏览器扩展/附加组件。我们可以在Chrome浏览器中运行它,因此我正在尝试使其在Firefox中运行。

我已将加载项加载到Firefox Developer Edition 49.0a2(2016-07-25)中。

我的扩展程序涉及一个content_script设置为run_at: document_start,因此它可以在运行其他页面脚本之前注入一个脚本标记,从而可以使一个对象可全局用于网站。

在Chrome浏览器中,这似乎工作正常,但在Firefox中,这已证明是一种竞争状况,其他时间大多数页面优先加载页面资源。

是否有一种策略来加载内容脚本,使其可以在运行任何其他页面脚本之前注入并加载脚本?

当我添加日志时,我可以很好地隔离正在发生的事情。在此示例中,内容脚本为:

// inject in-page script
console.log('STEP 1, this always happens first')
var scriptTag = document.createElement('script')
scriptTag.src = chrome.extension.getURL('scripts/inpage.js')
scriptTag.onload = function () { this.parentNode.removeChild(this) }
var container = document.head || document.documentElement
// append as first child
container.insertBefore(scriptTag, container.children[0])
Run Code Online (Sandbox Code Playgroud)

现在,如果文件scripts/inpage.js只是运行日志,例如

console.log('STEP 2, this should always run second')
Run Code Online (Sandbox Code Playgroud)

我访问了一个带有如下脚本的页面:

console.log('Step 3, the page itself, should run last')
Run Code Online (Sandbox Code Playgroud)

实际上,步骤2和步骤3以不确定的顺序运行。

非常感谢!

如果您敢自己尝试,我在特殊分支的公共存储库中有脚本的Firefox兼容版本:https : //github.com/MetaMask/metamask-plugin/tree/FirefoxCompatibility

firefox-addon content-script firefox-addon-webextensions

4
推荐指数
1
解决办法
649
查看次数