【问题标题】:How do I play video during the response of const name?如何在 const name 响应期间播放视频?
【发布时间】:2018-04-03 04:39:25
【问题描述】:

如何播放在 const 名称响应期间播放的视频?响应完成后,'onend',将位置更改为https://www.google.com?

我知道这是通过 onend.locationreplace 功能。但是如何在 const 语句结束后改变它?

我对javascript非常陌生,所以基本上我知道的很少/一无所知。所以只是代码示例,否则我将无法理解。

<!DOCTYPE HTML>
<html>
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>eve_</title>
<link rel="icon" rel="preload" href="images/evecircle.png" />
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

 <script src="https://code.responsivevoice.org/responsivevoice.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    </head>
    <body>
        <device type="media" onchange="update(this.data)"></device>
<video autoplay></video>

<script>
  function update(stream) {
    document.querySelector('video').src = stream.url;
  }


</script>
<center>
<video autoplay></video>
</center>
<script>


const constraints = {
  video: true
};

const video = document.querySelector('video');

function handleSuccess(stream) {
  video.srcObject = stream;
}

function handleError(error) {
  console.error('Reeeejected!', error);
}

navigator.mediaDevices.getUserMedia(constraints).
  then(handleSuccess).catch(handleError);

navigator.mediaDevices.getUserMedia(vgaConstraints, successCallback, errorCallback);

</script>





<style>

#video {
    margin-left:-10px;
    margin-top:-10px;
}

</style>

 <script src="https://code.responsivevoice.org/responsivevoice.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

</head>
<style type="text/css">

body {
    overflow:hidden;
}

</style>

<body onload="delayedAlert();">

<script>

var timeoutID;

function delayedAlert() {
  timeoutID = window.setTimeout(slowAlert, 5000);
}

function slowAlert() {
 var audio= document.getElementsByTagName('audio')[0];
 const audio2 = document.getElementsByTagName('audio')[1];
 var audio3 = document.getElementsByTagName('audio')[2];
  var audio4 = document.getElementsByTagName('audio')[3];

audio.play(); 
var myvar1;alert('There is multiple you?');

audio2.play(); 
var myvar1;alert('Why is there multiple yous.');


audio4.play();
const name = prompt('What are you?')

const sentence = name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name+name;
responsiveVoice.speak(sentence, "US English Female", {
  rate: 0.1,
  onend: () => window.location.href = 'https://www.google.com',
});
document.querySelector('video').play();
  }
});
};


</script>

 <audio>
  <source src="audio/oh_there_are_multiple_yous.wav" type="audio/wav" preload=true>
 </audio>

 <audio>
  <source src="audio/is_something_here.wav" type="audio/wav" preload=true>
 </audio>

  <audio>
  <source src="audio/oh_something_is_here.wav" type="audio/wav" preload=true>
 </audio>


 <audio>
 <source src="audio/what_is_your_name.wav" type="audio/wav" preload=true>
 </audio>

<video>
 <source src="images/human.mp4" style="width:500px; height:700px;>
 </video>  

    </body>
</html>
</hmtl>

【问题讨论】:

    标签: javascript function video constants response


    【解决方案1】:

    替换为

    responsiveVoice.speak(sentence, "US English Female", {
      rate: 0.1,
      onend: () => window.location.href = 'https://www.google.com',
    });
    document.querySelector('video').play();
    

    【讨论】:

    • 但是在responsiveVoice.speak 行之后您甚至没有任何警报
    • 是的,但是预览整个站点并添加代码不会加载警报
    • 那么你可能在某个地方放了一两个无效字符,脚本根本没有运行 - 检查浏览器控制台。
    • 我刚刚编辑了它以包含我的完整代码以获得更好的视角。
    猜你喜欢
    • 2015-12-03
    • 2021-10-28
    • 1970-01-01
    • 2021-06-20
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多