我正在使用DATA_SOURCE = "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
,其中包含我们从第三方收到的代码。该第三方代码包含一个DATA_SOURCE = "derived:com.google.calories.expended:com.google.android.gms:merge_calories_expended"
并包含一个使用Phaser创建的游戏。
我正在寻找一种使游戏某些时候的声音静音的方法。
我们通常采用这种方式:
iframe
经过一番研究,我发现您可以使用Canvas
在网页中播放声音,然后在创建的对象上调用function mute(node) {
// search for audio elements within the iframe
// for each audio element,(video, audio) attempt to mute it
const videoEls = node.getElementsByTagName('video');
for (let i = 0; i < videoEls.length; i += 1) {
videoEls[i].muted = true;
}
const audioEls = node.getElementsByTagName('audio');
for (let j = 0; j < audioEls.length; j += 1) {
audioEls[j].muted = true;
}
}
方法。
我们使用的new Audio([url])
函数的问题在于,如果声音是用play
创建的,则声音不会被拾取。
有没有一种方法可以从容器中列出在文档中创建的所有mute
元素,或者只是不可能,并且可以创建一种播放音频的方式,而不会让iframe容器将其静音?
答案 0 :(得分:1)
没有,没有办法。
他们不仅可以像您猜到的那样使用未附加的
您最好的举动是问这个游戏的开发者,它公开了一个您可以控制它的API。
例如,它可能是URL(https://thegame.url?muted=true
)中的某些查询参数,甚至是基于Message API的API,您都可以在自己的页面中执行iframe.contentWindow.postMessage({muted: true})