【问题标题】:How to play a random music track on click?如何在点击时播放随机音乐曲目?
【发布时间】:2016-01-13 22:56:22
【问题描述】:

我想创建一个网站,其中有一张图片,如果有人点击这张图片,则应该播放来自播放列表或类似内容的随机歌曲。我有一个运行代码来激活一首歌曲,但如果我想要多首歌曲,它就不再起作用了。

<html>
  <head>
    <title>title</title>
        <link type="text/css" rel="stylesheet" href="style.css"/>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script src="script.js"></script>
  </head>
  <body>
    <div id="headline">
      <h1 id="hl">Headline</h1>
      <img class="play" id="pic" src="pic.png"/>
      <img class="pause" id="pic2" src="pic.png"/>
    </div>
  </body>
 </html>
$(document).ready(function() {

    $(".pause").css ('display', 'none');

    $(".play").click (function(){
        $(".play").css ('display', 'none');
        $(".pause").css ('display', 'inline-block');
    });
    $(".pause").click (function(){
        $(".play").css ('display', 'inline-block');
        $(".pause").css ('display', 'none');
    });

    var audioElement = document.createElement('audio');
    audioElement.setAttribute('src', 'song1.mp3');
    /*var audioElement2 = document.createElement('audio');
    audioElement2.setAttribute('src', 'song2.mp3');*/

    $.get();

    audioElement.addEventListener("load", function() {
        audioElement.play();
    }, true);
    /*audioElement2.addEventListener("load", function() {
        audioElement2.play();
    }, true);*/

    var x = 1 /*Math.round(Math.random() * (2)) + 1*/;
    if (x = 1) {
        $('.play').click(function() {
        });
    /*} else {
        $('.play').click(function() {
            audioElement2.play();
        });*/
    }

    $('.pause').click(function() {
            audioElement.pause();
            audioElement2.pause();
    });
});

现在我想要不止一首歌曲,我不想使用音乐播放器左右。有没有办法用 HTML、JS 和 jQuery 解决这个问题?

【问题讨论】:

  • 不需要多语言问题。所以有非常精通英语的用户群。这使问题变得不必要地庞大。
  • 可以把音频元素的src改成随机src吗?

标签: javascript jquery html random audio-player


【解决方案1】:

你应该有一个代表你的播放列表的数组,然后从中选择一个随机元素并播放它

类似这样的:

var playlist = Array("song1.mp3", "song2.mp3", "song3.mp3");
var randomSong = playlist[Math.floor(Math.random()*playlist.length)];
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', randomSong);
/* ... your code continues here ... */

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多