Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.05.2012, 18:50
Интересующийся
Отправить личное сообщение для С.Тарасов Посмотреть профиль Найти все сообщения от С.Тарасов
 
Регистрация: 17.06.2009
Сообщений: 16

Сообщение от vadim5june
ну я вот здесь сделал вроде работает посмотрите
http://all-html5.narod.ru/2/audio2.htm
Ещё раз попробовал:
1. Добавил:
function chrom(){$('sp').addEventListener('ended', function(e){next_sound()})}


2.
< body onload="chrom()" >


3. из speek() исключил onended

chrome начал реагировать, но нарушается последовательный порядок воспроизведения.
Ответить с цитированием
  #12 (permalink)  
Старый 20.05.2012, 18:55
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

ну я там всего 2 песни включил поэтому у меня там это сейчас не проверишь -завтра закину больше и сделаю плей лист-я уже давно хотел занятся
Ответить с цитированием
  #13 (permalink)  
Старый 21.05.2012, 17:22
Интересующийся
Отправить личное сообщение для С.Тарасов Посмотреть профиль Найти все сообщения от С.Тарасов
 
Регистрация: 17.06.2009
Сообщений: 16

Сделал, то что хотел. Теперь работает и в chrome.

Решение:

<script  type="text/javascript">

        //-------------------------------------------------------------------------------
        // вспомогательные функции 
        function ie(){if (navigator.appName=='Microsoft Internet Explorer'){return true}else{return false}}

        function $(id) {
	       if (ie()){var idom=document.all(id)}else{var idom=document.getElementById(id)}
	       return idom;
        }


	//-------------------------------------------------------------------------------
        //  функция обработки событий

	function chrome(){
	
		$('sp').addEventListener('ended', function(e){next_sound()});
		$('sp1').addEventListener('ended', function(e){next_sound()});

                 //ниже обязательно назначаем обработку события:
                 //          'canplaythrough' - Скрипт выполняется, когда медиа может быть проиграно до конца,
                 //          без остановок для буферизации
 
		$('sp').addEventListener('canplaythrough', function(e){this.play()});
		$('sp1').addEventListener('canplaythrough', function(e){this.play()});
		
	}

	//-------------------------------------------------------------------------------
        // Воспроизведение очередного файла, название которого находится в массиве sp[nfonem] 
        //
	function speek(){

                   .................
	
                   $(id_speeker).src='sound/'+sp[nfonem]+'.wav';
 
                   .................

	}

	//-------------------------------------------------------------------------------
        //  переход к воспроизведению следующего файла
	function next_sound(){
                  .........
		  sp.length==nfonem ? end_speek() : speek();
                  .........
	}

</script>



В HTML:

<body onload="chrome()">
................................
			<audio id="sp" type="audio/x-wav" controls autoplay>
					Тег audio не поддерживается вашим браузером. 
			</audio>
...............................
				<audio id="sp1" type="audio/x-wav" controls autoplay>
					Тег audio не поддерживается вашим браузером. 
				</audio>
..............................


Т.к. используется два плеера, то для правильно работы в Сhrome, прежде чем запустить другой, в останавливаемом необходимо выполнить: $(id).src="";
иначе опять будет неправильная работа.
Также заметил, что если открыты в один момент две вкладки с плеерами, то в Chrome тоже получается бред.

Последний раз редактировалось С.Тарасов, 21.05.2012 в 18:11.
Ответить с цитированием
  #14 (permalink)  
Старый 21.05.2012, 18:41
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от С.Тарасов Посмотреть сообщение
Также заметил, что если открыты в один момент две вкладки с плеерами, то в Chrome тоже получается бред.
Я там добавил несколько песен и в хроме нормально играет-но кроссбраузерного варианта нет-посмотрю Ваш
попробовал в 2 вкладках-оба играют независимо друг от друга-нужно подумать как сделать чтобы 2 вкладки нельзя было открыть-хотя эту проблему можно игнорировать как экзотическую
Ответить с цитированием
  #15 (permalink)  
Старый 21.05.2012, 18:55
Интересующийся
Отправить личное сообщение для С.Тарасов Посмотреть профиль Найти все сообщения от С.Тарасов
 
Регистрация: 17.06.2009
Сообщений: 16

Сообщение от vadim5june Посмотреть сообщение
хотя эту проблему можно игнорировать как экзотическую
И я так думаю.

Тем более, что похоже это только у меня такая ерунда. Но решать её пока мне незачем. И так сойдёт .

Последний раз редактировалось С.Тарасов, 21.05.2012 в 18:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Проблема с обновлением формы на $.ajax функцыи Svjatoslav AJAX и COMET 0 27.04.2012 16:44
Opera, FireFox, Chrome - проблема с получение HTML выдеенно фрагмента Frozen Coyote Firefox/Mozilla 1 24.02.2011 15:43
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55