Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409

Остановка текущего трека при запуске нового как осуществить

05.03.2014, 18:55. Показов 4455. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ у меня есть код php который выводит все mp3 файлы из папки на страницу в виде списка но проблема в том когда я запускаю новый файл старый продолжает играть как это исправить

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php //отсеивание
    $dir = "MP3 PLAYER/";   //задаём имя директории
    if(is_dir($dir)) {   //проверяем наличие директории
         echo $dir.'<br>'; 
         $files = scandir($dir);    //сканируем (получаем массив файлов)
         array_shift($files); // удаляем из массива '.'
         array_shift($files); // удаляем из массива '..'
         for($i=0; $i<sizeof($files); $i++) echo '<center>'.$files[$i].'<br>
<object id="audioplayer" type="application/x-shockwave-flash" data="/player.swf" width="600" height="30">
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
<param name="menu" value="true" /> 
<param name="audio" value="'.$dir.$files[$i].'" />
<param name="flashvars" value="comment=$ENTRY_TITLE$&st=/audio189-339.txt&file='.$dir.$files[$i].'" />
</object>
</center><br>';
} 
    else echo $dir.' -такой директории нет;<br>';
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.03.2014, 18:55
Ответы с готовыми решениями:

Остановка музыки при включении второго трека
Здравствуйте. Как можно сделать, что бы при нажатии на другой трек первый трек бы отключался. трек включаю таким образом: &lt;div...

Останавливать воспроизведение предыдущего трека при запуске следующего
Здравствуйте . Вставляю 2 аудио : &lt;h3&gt;&lt;font color=&quot;red&quot;&gt;Blue October – Say It&lt;/font&gt;&lt;/h3&gt; &lt;audio controls src=&quot;D:/Музыка/Blue...

Проигрывание следующего трека в media по окончании текущего
Доброе время суток. Подскажите пожалуйста, как сделать, чтобы при окончании мелодии, сразу начала проигрываться другая????

23
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
05.03.2014, 21:46
Лучший ответ Сообщение было отмечено outZoNe как решение

Решение

А почему JS?
Здесь вроде как флеш нужен.
Js в html5 может музыку, кстати, проигрывать, и там удобно ставить паузу и т.п. И в некоторых браузерах (как минимум в хроме) есть встроенный аудиопроигрыватель.
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
06.03.2014, 17:28  [ТС]
nokados, простите а можно поподробнее рассказать как мне это сделать кстати я использую flash проигрыватель на сайте но я не знаю как сделать что бы была пауза они оба одновременно играют а как это исправить я не знаю
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
06.03.2014, 19:31
Лучший ответ Сообщение было отмечено outZoNe как решение

Решение

Я знаю, как сделать через html5 - вот.
Через flash точно не знаю. Возможно стоит погуглить "пауза музыки actionscript". Ну или дайте код проигрывателя - авось что-нибудь там найдем.
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
06.03.2014, 20:05  [ТС]
nokados, Ну я не совсем понял что за код проигрывателя но если вы о плеере то я сделал его на uppod просто там наприсовал какой нужен скачал и подключил к сайту и все смысле в том что у меня в папке лежит куча mp3 файлов а этот код выводит их на страницу в виде списка но проблема в том что когда играет один трек и я включаю другой то они оба играют одновременно и я не знаю как это убрать.

Добавлено через 5 минут
Я сделал как вы посоветывали на html5 но результат получился тот же

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php //отсеивание
    $dir = "MP3 PLAYER/";   //задаём имя директории
    if(is_dir($dir)) {   //проверяем наличие директории
         echo $dir.'<br>'; 
         $files = scandir($dir);    //сканируем (получаем массив файлов)
         array_shift($files); // удаляем из массива '.'
         array_shift($files); // удаляем из массива '..'
         for($i=0; $i<sizeof($files); $i++) echo '<audio src="'.$dir.$files[$i].'"controls></audio>';
 
} 
    else echo $dir.' -такой директории нет;<br>';
?>
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
06.03.2014, 20:32
Нужно ставить на паузу запущенный файл.
Чтобы отслеживать все мелодии добавим им класс в выводе:
PHP
1
for($i=0; $i<sizeof($files); $i++) echo '<audio class="music" src="'.$dir.$files[$i].'"controls></audio>';
Потом на js отслеживаем запуск нового файла. Если запустили новый, то ставим предыдущий на паузу;
JavaScript
1
2
3
4
5
6
7
8
9
10
11
var playedMusic= null,
     music=document.getElementByClassName('music');
for (var k in music)
{
    music[k].onplay=function()
    {
        if(playedMusic!==null)
            playedMusic.pause();
        playedMusic=this;
    }
}
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
06.03.2014, 20:45  [ТС]
Опять тот же эффект или это я тупой))) вот я так сделал:
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
06.03.2014, 20:58
а если обернуть весь js код в windows.onload=function(){/*сюда код*/} ?

Добавлено через 6 минут
А все я нашел ошибку. Должно быть не getElementByClassName
а getElementsByClassName
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
06.03.2014, 21:14  [ТС]
nokados, Да я сделал как вы сказали:
, но все равно то же самое я вот думаю может мне надо задавать как то каждому плееру свой id но я не знаю как это сделать так как у меня все файлы из папке находятся в одном массиве а не как отдельные ссылки а в js я очень очень очень плох(((
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
06.03.2014, 21:52
Цитата Сообщение от nokados Посмотреть сообщение
Должно быть не getElementByClassName
а getElementsByClassName
если вы скрипт ставите после кода, то windows onload по сути не нужен. Код не работал, потому что в нем была орфографическая ошибка. Исправьте
JavaScript
1
music=document.getElementByClassName('music');
на
JavaScript
1
music=document.getElementsByClassName('music');
Добавлено через 45 секунд
's' появляется
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
06.03.2014, 21:56  [ТС]
ода nokados, спасибо вам ограмейнешое вы просто спасли мне жизнь я уже начал с ума сходить думал не сделаю никогда

Добавлено через 1 минуту
ой простите за мою надоедливость а можно еще так сделать что бы они играли еще и последовательно ну то есть один закончился начался другой если я вам надоел можете не отвечать мне в принцепи не обязательно)
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
06.03.2014, 22:17
1) Не за что извиняться.
2) Замените ваш скрипт на этот:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var playedMusic= null,
            music=document.getElementsByClassName('music');
for (var k in music)
{
    if(typeof music[k]==='object')
    {
        music[k].next=(parseInt(k)+1<music.length)?parseInt(k)+1:0;
        music[k].onplay=function()
        {
            if(playedMusic!==null)
                playedMusic.pause();
            playedMusic=this;
        };
        music[k].onended=function(){
            music[this.next].play();
        };
    }
}
1
07.03.2014, 00:08
 Комментарий модератора 
outZoNe, на будущее: если хотите добавить в пост картинку - загружайте ее на форум; если хотите показать код, то копируйте его, вставляет в текст сообщения и выделяйте соответствующми тегами подсветки синтаксиса.
0
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
07.03.2014, 11:57  [ТС]
nokados, Спасибо большое вы мне очень помогли. А можно такой вопрос по теории этот html5 ну тоесть этот плеер будет одинаковый во всех браузерах или в каждом свой вот например у меня google chrom там я так понимаю этот плеер:
Название: ac61142d58675c4b31171bd66c8df3b1.png
Просмотров: 74

Размер: 3.7 Кб
а например в mozille будет все по другому работать и отображаться?

Добавлено через 4 минуты
romchiksoad, простите но я не нашел как и куда загружать картинки а с кодом спасибо я разобрался
 Комментарий модератора 
Прикрепляйте файлы и изображения к сообщениям.
https://www.cyberforum.ru/abou... post594251
0
07.03.2014, 13:22

Не по теме:

outZoNe, под полем ввода сообщений есть ссылки на инструкции по пользованию редактором и BB-кодам в общем ;)

0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
07.03.2014, 14:54
Плееры похожи, но не одинаковы. Мазила -

Opera -

В опере, кстати, скрипт не работает. Возможно, не поддерживается mp3
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
07.03.2014, 14:56  [ТС]
nokados, Косяк тогда получается свой swf плеер я уже сюда ни как не смогу прикрутить так как это html5?
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
07.03.2014, 14:58
Конечно сможете. Html5 совместим с четвертым. Можно прописать условие, когда показывать swf-плеер, а когда html5.
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
07.03.2014, 15:07  [ТС]
nokados, Я так понимаю я должен это сделать через js например так
JavaScript
1
<script type="text/javascript" src="/player.swf"></script>
Добавлено через 2 минуты
да и так тоже не сработало
PHP/HTML
1
<object data="player.swf" width="600" height="30"><audio class="music" src="'.$dir.$files[$i].'"controls></audio></object></font>
0
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
07.03.2014, 16:07
Ваш плеер нужно подключать так же, как и раньше. У вас сейчас есть два плеера: на flash и на html5
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2014, 16:07
Помогаю со студенческими работами здесь

Остановка мелодии при запуске другой
У меня есть 2 тега audio. Как сделать чтобы при проигрывание одного, другой ставился на паузу?

WMPLib воспроизведение url, получить название текущего трека
Использую WMPLib для прослушивания радио. Как получить название текущей композиции?... (например как у AIMP) Это вообще реально?

Как сделать, чтобы ProgressBar заполнялся в ходе отсчета таймера и обновлялся при запуске нового?
Доброго времени суток. У меня имеется обратный отсчет TimeSpan и ProgressBar. Как сделать, чтобы бар заполнялся в ходе отсчета таймера и...

Не работает wdActiveEndPageNumber (определение текущего номера страницы) при запуске макроса из Excel
Добрый день. Из екселя считаю количество слов в документе и на какой странице они находятся. Собсвенно слова считает, перечисляет, но вот...

Ошибка при запуске нового проекта
Переустановила систему, соответственно и все ПО заново переустанавливала. Теперь не могу работать в VS, выдает ошибку. Что делать? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru