-
Публикаций
5 555 -
Баллов
14 098 -
Зарегистрирован
-
Посещение
-
Победитель дней
15
Тип контента
Профили
Форумы
Пользовательские тракты
Галерея
Колекции
Блоги
Объявления
Магазин
Articles
Весь контент IgorA
-
И нужно это одному пользователю на миллион.
-
Технически есть, если менять дискретность времени в отправляемой команде на позиционирование, но практического смысла в этом для обычного пользователя я не вижу. Для треков в пределах трех минут и сейчас дискретность меньше секунды.
-
Для меня нет.
-
События с сервера на клиент по инициативе сервера передаваться не могут. Для этого должно быть по серверу на обоих концах. Веб-клиент получает события сервера по своей инициативе через опрос его состояния и обнаружение изменения переменных состояния - позиции воспроизведения, номера трека и альбома и т.д.
-
@AleXH, в новом варианте обработки переходов внутри CUE для последнего трека из однофайлового образа не обновлялась метка времени начала воспроизведения трека (наследовалась от предыдущего трека), поэтому ползунок сразу сдвигался вправо. Вот исправленный вариант. ap2web4_x32.zip
-
В основном все пойдет, возможно, кроме панельки с путем к файлу, которую я считаю мало кому нужной. Видимо, в обновленной версии веб-интерфейса будет еще удаление альбомов и сохранение/удаление плейлистов. Как параллель будущей linux версии, где веб-интерфейс должен быть полноценным плеером.
-
@AleXH, надо заменить ap2web.exe на прикрепленный файл и в aplayer.js в конце функции ParseAlbums заменить SelectSong(-1) на SelectSong(SavedSongIndex). ap2web3_x32.zip
-
Там если в функции OnSearch в двух местах поменять Albums.AlbumsS на Albums.Albums, то будет искать по полному описанию с форматом и,соответственно, можно выбирать "flac", например.
-
@BSV Плагин для прослушивания музыки из ВК прикрутить непосредственно к АПлееру нет возможности. Cторонний софт, поддерживающий вывод на UPnP/DLNA рендерер, в частности, foobar2000, для которого был ВК плагин, может воспроизводить с онлайн источников через ap2renderer.
-
@AleXH, вот фильтр для списка альбомов без фреймворков (как обновление к последнему варианту web1200x600). И без оформления. Добавлена одна строка в html и одна функция в конец js. web1200x600-filter2.zip
-
Здесь ограничен список допустимых расширений загружаемых файлов. В zip-архиве можно выкладывать.
-
В установочном комплекте эта станция есть в папке Radio/Rock Radio HD
-
@AleXH, вот вариант с фильтрацией списка альбомов, прикрученной к последнему web1200x650, со стандартным оформлением списка. Чтобы поменять оформление, надо переопределять классы стилей этого списка в css. Чтобы не было зависимости от интернета внешние файлы js и css можно будет поменять на их локальные копии. web1200x650-filter.zip
-
Функцию из 1.html (заголовок) надо оставить как было, без имени и параметров. Она создает элемент combobox. А activeItemChanged добавить в число строк в ее параметрах. Как значение этого параметра надо указать обработчик выбора, который вместо ChangeAlbum должен будет вызываться. А dataSource должен быть глобальный массив объектов с полем Name, как в примере. Но заполнять его надо программно в ParseAlbums, вместо кода, который заполнял прежний элемент тегами option.
-
Чтобы вместо zepto заработал jquery, надо поменять строку c zepto из head в aplayer.html на строки, подключающие скрипты и стили из head в 1.html. Код скрипта из 1.html можно вставить в начало области кода в aplayer.js. Поменять там #singleSelectCombo на #Albums, ширину с 300 на 450 и новый элемент заменит стандартный список альбомов. Функцию обработки выбора в списке можно добавить строкой в вызове функции создания элемента: activeItemChanged: function (evt, ui) {...} Оформление поменять, переопределяя классы стилей этого списка в aplayer.css. Документация на элемент здесь: https://www.igniteui...14.1/ui.igcombo Данные в этот список надо передавать в виде массива объектов, содержащих поле Name со значением текста строки, а не тегов option, как в стандартном варианте. В последних версиях jquery убрана функция attr(). Ее вызовы в aplayer.js для jquery надо заменить на prop(). Параметры те же.
-
Даже если переключение трека отрабатывается как перемотка внутри образа, буфер в любом случае потребуется сбросить.
-
Выход при переключении треков в общем случае нельзя удержать на реальной паузе и снять с нее позже, так как там останется в буфере "мусор" от прежнего трека. Поэтому использованное решение c переходом через "Stop-Play" достаточно оптимально.
-
Да, фраза из сообщения выше "Для движка Play сбрасывает паузу" как раз и означает, что в сервере и плеере обработка команд смены трека и воспроизведения автоматически сбрасывает состояние паузы.
-
@AleXH, ставить на паузу нужно, но чтобы пауза сохранялась при переключениях треков достаточно сделать исправление, о котором сказано в моем предыдущем сообщении.
-
Для движка Play сбрасывает паузу, поэтому ее надо восстанавливать. Чтобы по Next сохранилось состояние паузы надо в конец ParsePlay вместо UpdateState добавить: if (Paused) $.getJSON('?Pause', ParseStd); else UpdateState();
-
@AleXH, вот совсем компактный пример, использующий дополнительно готовые стили и скрипты от Infragistics: 1.html
-
Как вариант, поменять библиотеку zepto.js на совместимую по интерфейсу jquery, подключить jquery-ui, и использовать autocomplete combobox для списка альбомов. Пример с исходным кодом здесь: http://jqueryui.com/autocomplete/#combobox
-
GetPlaylist, который получает список альбомов и который нужно заменять, вызывается только в функции onselectPlaylist. В остальных случаях вызывается функция GetPlaylists, которая получает список сохраненных плейлистов и доступных дисков. Ее заменять не надо.
-
@AleXH, просто нужен еще переключатель режима или альтернативный вызов панели папок или альтернативный выход из нее, что позволит различить операции полного обновления плейлиста и добавления в него и вызывать соответственно GetPlaylis или Get_Playlist. Если делать для ПК, можно повторить вариант с удержанием клавиши Shift для добавления вместо замены при завершении выбора папки. Тогда надо поменять два вызова onselectPlaylist (в скрипте и в html разметке) на onselectPlaylist(event), а в функции написать: function onselectPlaylist(e) { ... if(e.shiftKey) $.getJSON('?Get_Playlist&playlist=' + PlaylistIndex, ParseAlbums); else $.getJSON('?GetPlaylist&playlist=' + PlaylistIndex, ParseAlbums); ... }
-
@AleXH, да, постоянное обновление не требуется. Выше был выложен вариант с остановкой воспроизведения при добавлении альбомов, вот без остановки. Проверить можно, просто поменяв в актуальном скрипте GetPlaylist на Get_Playlist. Но плейлист после этого будет только увеличиваться. ap2web2_x32.zip