Как сделать так, чтобы флеш-плеер продолжал играть, если пользователь меняет страницу?

Мне очень нравится mp3-плеер на 8tracks.com, и мне было интересно, как им удается поддерживать воспроизведение mp3, даже когда я переключаю страницы?

Например, прослушайте трек здесь http://8tracks.com/mixes?q=Aztec+Camera и нажмите на одну из ссылок на другую страницу. Музыка прерывается на 1/4 секунды, а затем возвращается в нужный момент!

Я не думаю, что он использует потоковый сервер, поэтому было интересно, является ли это функцией флеш-памяти?


person Community    schedule 27.09.2008    source источник


Ответы (5)


Будьте проще: пусть плеер сохранит текущий трек / время в cookie при срабатывании onunload, а затем начнет с этого места при загрузке следующей страницы. Вам нужно будет написать пару функций поддержки на JavaScript, поскольку AFAIK Flash не имеет доступа к файлам cookie браузера или событиям JS.

person skymt    schedule 27.09.2008

Не знаю, как они это делают, но вы всегда можете поместить музыкальный проигрыватель и главную страницу в два разных кадра (с видимым только основным кадром содержимого). Конечно, это не поможет, например, при вводе нового адреса в адресную строку.

РЕДАКТИРОВАТЬ: Они это не делают. Предположительно они сохраняют песню и позицию воспроизведения в файле cookie и используют его для перезапуска проигрывателя на каждой новой странице.

person Community    schedule 27.09.2008

Вы можете сделать это с помощью Ajax, сделав так, чтобы ваши внутренние «ссылки» фактически не переходили на другую страницу, а просто загружали контент в ваш основной div контента. Это позволит любому потоковому мультимедиа продолжать работать без прерывания, пока оно находится за пределами div, в котором заменяется контент.

person devlord    schedule 27.09.2008

Или избегайте ajax и вместо этого используйте iframe

person albertein    schedule 27.09.2008

Да, но вы столкнетесь со всеми проблемами, связанными с фреймами, вы бы закончили добавлять код сценария на всех страницах, чтобы позаботиться о том, чтобы пользователь вошел на сайт напрямую, без сайта, определяющего фрейм.

person albertein    schedule 27.09.2008
comment
Поскольку ответы чаще всего сортируются по голосам, а не по времени, как на традиционном форуме, этот ответ полностью вырывается из контекста, то есть мы понятия не имеем, о каком посте вы говорите. Если вы хотите прокомментировать сообщения других людей, добавьте комментарий, а не другой ответ (как я сейчас делаю) - person SCdF; 28.09.2008
comment
После того, как я напечатал это, я понял, что у вас есть rep ‹50, поэтому вы не можете публиковать комментарии (не уверен, почему это: s). А пока вы можете ссылаться на сообщения, о которых говорите? - person SCdF; 28.09.2008
comment
Извините, это был мой первый комментарий, поэтому я не знал об этом, спасибо за подсказку =) - person albertein; 28.09.2008