前言:
我想说的是,我已经尽了最大努力避免把这个问题变成重复的问题,也就是说,我自己搜索了谷歌,阅读了很多其他类似的问题,等等。我发现了很多非常有用的东西,这些东西让我找到了这个特定的情况,我有代码要展示,所以希望我的最后一个问题能够清楚地回答。
我有一个简单的网站,用纯HTML和CSS引导建立。主页上有一个嵌入式的全屏Youtube视频,展示了一些歌手。因此,视频上的声音是需要的,但我还想要一个静音按钮,而不提供youtube视频的所有控制(暂停/播放、质量、字幕等)。
我已经使用他们开发页面上的Youtube API在JSFIDLE中成功地实现了这一点。http://jsfiddle.net/Bvance/8bzxp9c2/
问题:
问题是,使用我网站上工作的JsFiddle中完全相同的代码,我得到了错误Uncaught-TypeError:player。IsMute不是HTMLDivelment的函数。
这是我的HTML:
<div class="container-fluid video-background" id="home">
<iframe id="myPlayer" width="100%" height="100%" src="https://www.youtube.com/embed/videoseries?list=PLr3L2qYLOPjj8caQDOfdhuvHSWQdrUAjq&
autoplay=1
&disablekb=1
&enablejsapi=1
&loop=1
&controls=0
&mute=0
&index=1
" frameborder="0" allowfullscreen></iframe>
<a href="#welcome" title="Welcome" id="welcome-down">
<span class="glyphicon glyphicon-chevron-down"></span>
</a>
<div id="muteButton">
</div>
这是我的Javascript:
//Necessary to laod the Youtube API
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
console.log(player);
player = new YT.Player('myPlayer', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onPlayerError
}
});
}
function onPlayerError(event) {
alert(event.data);
}
function onPlayerReady() {
alert("hey Im ready");
//do whatever you want here. Like, player.playVideo();
}
function onPlayerStateChange() {
alert("my state changed");
}
//Setting the event listener to the mute button
document.getElementById("muteButton").addEventListener('click', function (event) {
console.log(player);
if(player.isMuted())
{
player.unMute();
} else {
player.mute();
}
});
这个javascript只是完整文件的一个片段,但它是文件中的第一件事。我使用了一些JQuery,并有一个
$(文档)。准备好了{code>,在这部分代码下面。我知道,把API调用放进去是行不通的(我已经试过了)。
我试过的:
在我的调试中,我在进行
YT. Player()
调用之前和之后一直在将player
对象打印到控制台,并且一个对象正在返回。尽管由于某种原因,它无法访问我网站上的任何功能。但是,当检查JSFiddle代码时,它确实会在打印到控制台时显示所有内容。
您可以将其与控制台中打印的播放器对象进行比较,同时使用控制台的JSFiddle屏幕截图来打印“播放器”对象
我已经尝试过将
document.getElementById("muteButton"). addEventListener
移动到不同的地方,包括onYouTubeIframeAPIReady()
内部,但没有用。我还尝试过将这整块javascript移动到js文件的末尾和$(文档)内。就绪{
只是为了尝试不同的东西。什么都没有。
我错过了什么?感谢您阅读到目前为止!
更新:
所以我在处理JSFIddle,试图精简托管的站点代码,直到它可以像工作的JSFIddle一样工作,但我甚至达到了这样的程度:两个fiddle是相同的,一个仍然不工作。我被难住了。我甚至复制并粘贴了一个新的工作小提琴和新的一个也没有工作!我真的不知道发生了什么。。
这里的问题是“player.ismute()”不必返回布尔值。它可以/不能。因此,您应该确保检查返回布尔值。在这种情况下,快速的方法是使用双重否定技巧。因此:
尝试更改:
if(player.isMuted())
{
player.unMute();
} else {
player.mute();
}
进入
if(!!player.isMuted())
{
player.unMute();
} else {
player.mute();
}
这样为我工作。
如果你想获得更多关于这个解决方案的信息,请查看以下文章:codereviewvideos。com/blog/example-javascript双负或sitepoint。com/javascript双重否定技巧麻烦或Jamie Treworgy回答如下:stackoverflow.com/questions/10467475/double-negation-in-javascript-what-is-the-purpose
https://www.twilio.com/docs/voice/twiml/conference#属性-静音 它起作用了,所有参与者都静音了。现在我想知道如何允许每个用户使用Android上的Twilio语音SDK单独取消静音。 这很奇怪,因为在接收调用时,是即使调用是静音的。然后,当尝试使用取消对调用的静音时,不会发生任何事情,调用仍然是静音的。
我正尝试使用以下命令与最新的ffmpeg构建从我的.mp3文件中删除静默: 但是,会产生以下输出: 感谢任何帮助!
问题内容: 最近,我一直在询问有关discord.py的大量问题,这就是其中之一。 有时候,有些人向您的不和谐服务器发送垃圾邮件,但踢或禁止它们似乎太苛刻了。我想到了一个命令,该命令将在给定的时间内删除通道上的所有新消息。 到目前为止,我的代码是: 我这一节中的代码是: 所有使用的变量都在bot的顶部预先定义。 我的问题是,该漫游器会删除其有权访问的所有频道中的所有新消息。我尝试放入该部分,但这使
因此,我编写了下面的代码,该代码将使给定通道中的所有成员静音: 但是它不起作用,我无法找出原因,因为我真的不知道setMute()函数是如何工作的。 编辑:我不确定如何访问每个成员并使其静音
如前所述。我正在尝试为我的Discord机器人创建一个临时静音命令。我遇到的问题是,它创建了一个静音的角色,但即使我更改了烫发,用户仍然可以编写消息。除此之外,我还收到了以下弃用警告: (节点:15956)弃用警告:集合#查找:改为传递函数
本文向大家介绍Android实现定时自动静音小助手,包括了Android实现定时自动静音小助手的使用技巧和注意事项,需要的朋友参考一下 定时静音助手的实现方法,供大家参考,具体内容如下 背景 突发奇想,刚好这学期刚上安卓课程,想设计一个时间助手。工作、学习中经常会被突如其来的电话所打扰,在上班,上课时这突如其来的铃声会惹来别人的反感,而只靠人们的记性是很难在准确的时间记得静音。如果一直静音,那么在