Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Прослушка события для аудио-воспроизведения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Romeo4755
Отправлено: 18 Апреля, 2016 - 15:26:49
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




Объясните, пожалуйста, как возникает этот ср*й pause. По уиолчанию он не возникает (хотя написано в мануале, что без автоплея типа уже pause).
Ладно, насильно проигрываю первый файл, второй запускается автоматически, а после него - опять тишина. Или получается, что Прослушка события была присвоена не переменной, а именно ее значению? Как тогда быть?
Спасибо за ваше внимание и сочувствие.
Оговорюсь, Quiry не пользуюсь, просто JS.
CODE (javascript):
скопировать код в буфер обмена
  1. function LastReading2 () {
  2. inaudionum = 0;
  3. var mysoundfile = new Audio (audiogeneralname+0+audiopostfix);
  4. mysoundfile.play();
  5. mysoundfile.addEventListener(
  6.              "pause",
  7.              function() {
  8.                    inaudionum++;
  9.                    mysoundfile = new Audio (audiogeneralname+inaudionum+audiopostfix);
  10.            mysoundfile.play();
  11.                              },
  12.                                         true); //окончание addEventListener
  13.  
  14. }

(Нужно просто чтобы файлы проигрались один за другим, 10 штук)
 
 Top
IllusionMH
Отправлено: 18 Апреля, 2016 - 16:57:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Romeo4755, да - событие навешивается на объект, а вы потом создаете новый, а на него кто вешать будет?
Либо так же рекурсивно и вешайте обработчик, что не есть гуд, либо сделайте объект который будет навешивать общий обработчик на все создаваемые и потом выбирать следующий для проигрывания.
 
 Top
Romeo4755
Отправлено: 18 Апреля, 2016 - 21:12:28
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Окт. 2015  


Помог: 0 раз(а)




Ну да, пришлось HTML плеер тогда использовать:

CODE (javascript):
скопировать код в буфер обмена
  1. var myplayer = document.getElementById('invisibleplayer');
  2. var  inaudionum = 0;
  3.  
  4. function LastReading () {
  5. myplayer.src = audiogeneralname+inaudionum+audiopostfix;
  6. myplayer.play();
  7.    myplayer.addEventListener(
  8.              "pause",
  9.              PlayAudioCycle,
  10.               true); //окончание addEventListener
  11. }
  12. //------------------------------------------------------
  13. function PlayAudioCycle (){
  14.   inaudionum++;
  15.   myplayer.src = audiogeneralname+inaudionum+audiopostfix;
  16.    myplayer.play();
  17.    if (inaudionum == kolsentences-1) {myplayer.removeEventListener("pause", PlayAudioCycle, true);}
  18.  
  19. }
  20.  


Вот так работает. Спасибо вам.

(Отредактировано автором: 19 Апреля, 2016 - 00:12:03)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB