2015-05-04 4 views
0

Я пытаюсь перебрать массив звуковых файлов, но каждый раз, когда он читает индекс в myAudio, я получаюМассив аудио файлов

myAudio.load is not function

Почему это происходит?

$("#playBtn").click(function(){ 
 
     isPlaying = true; 
 
     myAudio.play(); 
 
     console.log("playBtn is working"); 
 
    })   
 

 
     var myAudio = [ 
 
     'sound/animals.mp3', 
 
     'sound/maps.mp3', 
 
     'sound/misery.mp3' 
 
      ]; 
 
     index = 0; 
 

 

 
     myAudio.load(); 
 

 
#playBtn{ 
 
    cursor: pointer 
 
     }
<div id="playBtn">play</div>

+0

"Uncaught SyntaxError: Неожиданный токен" " – DevNiels

+0

Вы ищете что-то вроде этого http://jsfiddle.net/6xsqoLcn/? – mido

+0

Вы пытаетесь создать звуковой плейлист? Если да, взгляните на этот учебник, результат будет потрясающим. http://www.script-tutorials.com/html5-audio-player-with-playlist/ –

ответ

1
$("#playBtn").click(function(){ 
    isPlaying = true; 
    console.log("playBtn is working");   

    var myAudio = [ 
    'sound/animals.mp3', 
    'sound/maps.mp3', 
    'sound/misery.mp3' 
     ]; 
    var rand = Math.floor((Math.random() * myAudio.length) + 1); 
    var src = myAudio[rand]; 
    var tag = document.getElementById('audio'); 
    tag.setAttribute("src", src); 
    tag.load(); 


}); 
+0

'myAudio' - массив. В массиве методов 'load()/play()' не существует. – K3N

+0

@KenFyrstenberg Спящий, редактируемый. – DevNiels

1

Вы потребности установить источник для каждого звукового файла перед тем используя функцию загрузки.

Например:

var src = (the audio source location) 
var audio = document.getElementById('audio'); 
audio.setAttribute("src", src); 
audio.load(); 

В этом случае, ваши источники будут значения в массиве myAudio, и вам нужно будет установить другой SRC в зависимости от звука, что вам необходимо, чтобы играть.

+0

@Roh Помог ли этот ответ? Если это так, мне бы это понравилось, если бы вы согласились :) – grill

Смежные вопросы