Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Очень простой вопрос про аудио и JS (https://javascript.ru/forum/jquery/26619-ochen-prostojj-vopros-pro-audio-i-js.html)

eirnvn 15.03.2012 09:29

Очень простой вопрос про аудио и JS
 
Пытаюсь подключить плейер: http://kolber.github.com/audiojs/

к такому html:
<body>
    <div id="wrapper">
      <h1>Заголовок</h1>
      <audio preload></audio>
      <ul>
        <li><a href="#" data-src="1.wav">один</a></li>
        <li><a href="#" data-src="2.mp3">два</a></li>
        <li><a href="#" data-src="3.mp3">три</a></li>
        <li><a href="#" data-src="4.mp3">четыре</a></li>
      </ul>
    </div>


Подключаю так:
<script src="jquery.js"></script>
    <script src="audiojs/audio.js"></script>


И код:
$(function() { 
        // Setup the player 
		
        var a = audiojs.createAll();
        

        // Load in a track on click
        $('ul li').click(function(e) {
          e.preventDefault();
          $(this).addClass('playing').siblings().removeClass('playing');
          audio.load($('a', this).attr('data-src'));
		  
          audio.play();
        });
});

Аудио не загружается(
Почему в строчке audio.load он пишет что audio = undefined
Jquery знаю плохо (а может оно и не при чем). Помогите, пожалуйста, никак не могу сообразить в чем дело.

devote 15.03.2012 09:34

$(function() { 
        // Setup the player 
         
        var audio = audiojs.createAll();
         
 
        // Load in a track on click
        $('ul li').click(function(e) {
          e.preventDefault();
          $(this).addClass('playing').siblings().removeClass('playing');
          audio[0].load($('a', this).attr('data-src'));
           
          audio[0].play();
        });
});

Skipp 15.03.2012 09:35

потому что audio = undefined, вы видите хотя бы одну строку где вы переменной audio устанавливаете хоть какое-то значение?

eirnvn 15.03.2012 10:25

Не вижу, но это, я так поняла что-то встроенное, во всех примерах которые я смотрела, audio нигде не определяется.

Попробовала переписать почти как devote, добавила строчку:
var audio = audiojs.createAll();
var audio = a[0];


Теперь он начинает критиковать сам audio.js:
a.element.pplay is not a function в 13 строчке audio.js

devote 15.03.2012 10:29

Цитата:

Сообщение от eirnvn (Сообщение 163268)
Попробовала переписать почти как devote, добавила строчку:
var audio = audiojs.createAll();
var audio = a[0];


Теперь он начинает критиковать сам audio.js:
a.element.pplay is not a function в 13 строчке audio.js

что-то вы непонятно что добавили, снова откуда то берете переменную a

var audio = audiojs.createAll()[0];

eirnvn 15.03.2012 11:13

Да, внимание у меня почти на нуле:) Я конечно так делала:
var a = audiojs.createAll();
var audio = a[0];


Еще раз попробовала как у вас: audio[0].load($....
Но ответ такой же -a.element.pplay is not a function в 13 строчке audio.js

Подключаю файлы тоже вроде правильно: отдельная папка для audiojs для трех файлов, все как там написано.

devote 15.03.2012 11:50

<!doctype html>
<html>
    <head>
        <script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
        <script src="http://kolber.github.com/audiojs/audiojs/audio.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(function() { 
                // Setup the player 
                var audio = audiojs.createAll()[0];

                // Load in a track on click
                $('ul li').click(function(e) {
                    e.preventDefault();
                    $(this).addClass('playing').siblings().removeClass('playing');
                    audio.load($('a', this).attr('data-src'));
                    audio.play();
                });
            });
        </script>
    </head>
    <body>
        <div id="wrapper">
          <h1>Заголовок</h1>
          <audio preload></audio>
          <ul>
            <li><a href="#" data-src="http://s3.amazonaws.com/audiojs/01-dead-wrong-intro.mp3">один</a></li>
            <li><a href="#" data-src="http://s3.amazonaws.com/audiojs/02-juicy-r.mp3">два</a></li>
            <li><a href="#" data-src="http://s3.amazonaws.com/audiojs/03-its-all-about-the-crystalizabeths.mp3">три</a></li>
            <li><a href="#" data-src="http://s3.amazonaws.com/audiojs/04-islands-is-the-limit.mp3">четыре</a></li>
          </ul>
        </div>
    </body>
</html>

eirnvn 15.03.2012 12:20

И у меня в песочнице все работает (наконец-то я это увидела)!!!А на компе - нет. Ладно, спасибо:)

vovasik 08.07.2013 14:39

я скажу почему так, это из за того что если файл сохранен локально например на рабочем столе аудио не будет воспроизводиться, такая политика браузеров:-/


Часовой пояс GMT +3, время: 17:50.