尝试在任意时间播放任意歌曲(学习音乐期末考试:)
Trying To Play Random Song at Random Time (To Study For Music Final :))
这是文件。现在,我不断收到来自警报的消息,即track变量未定义。PHP似乎是有效的,因为如果我直接进入PHP链接,手动键入GET变量,我就会返回歌曲。此外,我正在寻找一种方法来获得一首歌曲的随机10秒剪辑(比如我的音乐老师如何测试我们(。我想到的方法是将持续时间除以10,乘以一个随机数,然后使用setineterval查看currenttime((是否比初始音频时间多10秒。
//index.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Music Final Quiz</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<audio src="" id="player"></audio>
<button id="change_track">Play A Different Track</button>
<script src="jquery.js"></script>
<script src="script.js"></script>
</body>
</html>
//script.js
var player = document.getElementById("player");
var changeTrack = document.getElementById("change_track");
var previousNumber = null;
var timeStart = null;
function loadTrack(){
var randomNumber = Math.floor(Math.random()*11);
if(randomNumber != 0 && randomNumber != previousNumber){
previousNumber = randomNumber;
}else{
randomNumber = 1;
}
var track = $().get("generate_song.php?track_number=" + randomNumber);
player.src = track;
player.load();
// player.currentTime() = (player.duration/10) * Math.floor(Math.random()*11);
player.play();
alert(track);
}
window.addEventListener("load", loadTrack);
changeTrack.addEventListener("click",loadTrack);
//generate_song.php
$directory = "Audio_Files";
$files = scandir($directory);
$requested_song = $_GET["track_number"];
echo $files[$requested_song + 1]."<br/>";
player.currentTime是属性,而不是函数,因此它应该是:
player.currentTime = (player.duration/10) * Math.floor(Math.random()*11);
对于音程部分,我会添加音程并检查歌曲是否暂停:
function loadTrack(){
var randomNumber = Math.floor(Math.random()*11);
if(randomNumber != 0 && randomNumber != previousNumber){
previousNumber = randomNumber;
}else{
randomNumber = 1;
}
var track = $().get("generate_song.php?track_number=" + randomNumber);
player.src = track;
player.load();
player.currentTime = (player.duration/10) * Math.floor(Math.random()*11);
player.play();
playTenSeconds = setInterval(function(){
if(player.paused === false){
player.pause();
alert(track);
clearInterval(playTenSeconds);
}else{
player.play();
}
}, 10);
}
相关文章:
- 有没有更好的动手、具体的方法来学习Javascript
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 我应该先学习Angularjs还是Laravel
- 音乐播放器使用相同的id播放所有内容
- 学习更高级的JavaScript
- 我需要学习Java才能使用phoneGap创建android应用程序吗
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 按下后退按钮时,谷歌音乐如何继续播放
- JS音乐播放器
- 反向名称的JavaScript函数不能正确工作(例如学习JavaScript-O'Reilly)
- 如何在编码点火器中从数组上传音乐
- JavaScript 和 C++ 是否太相似而无法同时学习?
- 在学习JavaScript,Ajax,jQuery和JSON时是否与顺序相关
- 将背景音乐添加到网页
- 从编译语言开发人员的角度理解/学习脚本语言
- 试着学习新的剧本
- 背景音乐jquery声音
- 单击图像时如何播放音乐
- 为什么可以't使用振荡器的递归单宁性质来创建音乐定序器
- 尝试在任意时间播放任意歌曲(学习音乐期末考试:)