Проигрыватель непрерывного звука без вспышки - возможно ли это?

edit: сокращенный вопрос: как создать непрерывный музыкальный проигрыватель без flash (тот, который не прерывается, когда пользователь перемещается по сайту)

Итак, я хочу создать веб-сайт с аудиоплеером, который ведет себя во многом так же, как и многие флеш-плееры на таких сайтах, как hypem.com и pitchfork.com, однако я хочу полностью избегать Flash, если это возможно, чтобы я мог сохранить совместимость с мобильными устройствами Apple. (редактировать: заметьте, я не создаю что-то для мобильных устройств! просто веб-страницу с функцией аудиоплеера, которую можно использовать на Ipad / Iphone / Ipodtouch)

Я везде искал информацию, и до сих пор некоторые люди говорили, что Javascript может предоставить решение, но все игроки, которых я нашел, используют Javascript И Flash и не решают проблему непрерывного воспроизведения.


person paulj    schedule 15.11.2011    source источник
comment
Конечно, это возможно, поскольку это делает Пандора! - engadget.com/2011/09/21/   -  person mrtsherman    schedule 15.11.2011
comment
Насколько я понимаю, Pandora все еще использует Flash для фактического потокового аудио, но заменила Flash UI, который у них был ранее. Об этом говорится в некоторых комментариях к статье, на которую вы ссылаетесь, и в быстром поиске в Google: google.com/search?q=pandora+%22still+requires+flash%22   -  person Lars Blåsjö    schedule 15.11.2011


Ответы (2)


Взгляните на тег html5 <audio>.

http://www.catswhocode.com/blog/mastering-the-html5-audio-property

Постарайтесь, чтобы ваши вопросы SO были конкретными. Задайте вопрос о макете вашего сайта в другом вопросе.

https://stackoverflow.com/faq

person mrtsherman    schedule 15.11.2011
comment
Спасибо за ссылку, но я уже узнал об этих свойствах. Извините, мне следовало сократить свой вопрос, поскольку я понимаю, что он мог показаться неясным, особенно если кто-то не знаком с шумихой или вилами. У меня довольно конкретный вопрос: можно ли создать непрерывный аудиоплеер без вспышки? ключевое слово: непрерывный; непрерывное воспроизведение, когда кто-то переходит со страницы на страницу - person paulj; 15.11.2011
comment
@ user1046613 - говоря, что вы должны быть конкретными, я имел в виду, что вы не должны задавать вопросы о макете сайта так же, как вы спрашиваете о непрерывном звуке. И это действительно ответ на ваш вопрос. Аудио тег HTML5 может это сделать, и это только javascript / html. Я могу собрать пример jQuery, если хотите, или qw3n предоставил вам строгое решение только для js. - person mrtsherman; 15.11.2011
comment
Хорошо, я отредактировал свой пост, чтобы он стал более кратким. Спасибо за вашу помощь, я могу протестировать это сам и посмотреть, как оно пойдет, я просто не знал, что он способен к непрерывной игре, потому что я не нашел нигде, которая указывала бы эту функциональность. Ваш пример pandora и ваша настойчивость подтвердили, что это возможно, и я атакую ​​аудио-тег HTML5, чтобы посмотреть, что я могу сделать! - person paulj; 15.11.2011
comment
Вот пример - jsfiddle.net/yeEXZ. Вы устанавливаете новый атрибут src для аудиоплеера. Затем вам нужно вызвать load and play. Чтобы сделать его непрерывным, вы, вероятно, использовали бы ajax для получения следующей песни. Если вам нужна помощь с частью ajax, задайте другой вопрос. Удачи. - person mrtsherman; 15.11.2011

Вот код, который должен направить вас на верный путь

Сначала аудиоэлемент html, поддерживаемый всеми браузерами, но в семействе IE только IE9

<audio id="test" controls="controls" type="audio/ogg">Your browser doesn't support the audio tag.</audio> 

Тогда javascript

window.onload=function(){
var pre='';
var arr=['songTitle1','songTitle2','songTitle3'];
var ind=0;
var ele=document.getElementById('test');
ele.src=(ind++)+'.ogg';
ele.play();
//when the song ends start a new one
ele.onended=function(){
  ele.src=(ind++)+'.ogg';
  //if you are done with all the songs loop back to the beginning.
  //Or you could add some code to load more songs from the server
  ind=ind==arr.length?0:ind;
  ele.play();
}

}

Это просто берет массив названий песен и проигрывает их, предполагая, что у вас есть файлы ogg в том же каталоге, что и файл html. Сейчас я думаю, что ogg - единственный формат, который можно воспроизводить во всех браузерах.

person qw3n    schedule 15.11.2011
comment
Благодарность! Я попробую это, а также HTML5 и посмотрю, как они у меня работают :) - person paulj; 15.11.2011