-
Публикаций
5 598 -
Баллов
14 098 -
Зарегистрирован
-
Посещение
-
Победитель дней
15
Тип контента
Профили
Форумы
Пользовательские тракты
Галерея
Колекции
Блоги
Объявления
Магазин
Articles
Весь контент IgorA
-
Там если в функции 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
-
@AleXH, вот вариант для тестирования переходов и с добавленными командами. 1. Добавление в плейлист: команда Get_Playlist вместо GetPlaylist. 2. возврат полного пути выбранного трека: GetPath?album=индекс_альбома&song=индекс_трека Пример функции, выдающей окошко с путем выбранного трека: function GetPath() { $.getJSON('?GetPath&album='+CurrentAlbum+'&song='+CurrentSong, ParsePath); } function ParsePath(data) { alert(data.Path); } ap2web_x32.zip
-
@grigoxyr, поддержка OSS в linux плеере будет позже. Доступная консольная версия выводит только через ALSA. В OSS asound.conf не используется, поэтому можно его не трогать.
-
@AleXH, на национальном трекере 3 фиктивных сидера, не раздают. Может быть, на яндекс-диск выложить?
-
@AleXH, если проблема на сервере, то ее природа зависит от того, теряется ли переход внутри однофайлового альбома с CUE или переход между отдельными файлами. Первый переход отрабатывается сервером через получение оконного сообщения Windows, второй - через системный Event от ap2decoder. Соответственно, если сбивается сервер, то не приходит какое-либо из этих сообщений. Но GUI и веб версии в целом с этой частью работают одинаково.
-
@AleXH, в браузере лишь отражается состояние сервера. Можно браузер вообще завершить, не прерывая воспроизведение, через некоторое время открыть заново, загрузить страницу и она должна отображать плеер в актуальном состоянии (но только инфоблок внизу, а навигатор по альбомам синхронизируется кликом по тексту инфоблока). Если ситуация неправильно отображается и в этом случае, то проблема на сервере, а не на клиенте.
-
@AleXH, в Firefox переходы в фоне отрабатываются. Возможно, в конкретном браузере событие focus не генерируется. Но тогда состояние окна должно фиксироваться на момент переключения из него и должна помогать перезагрузка этой страницы. Если обновление страницы не помогает, тогда это не с браузерной стороной проблема, а с серверной.
-
@AleXH, "/ 100", да, это правильный вариант, но "/ 200" не страшно, так как это значение сразу после отправки команды на позиционирование заменяется правильным в функции ParseState. Что касается отработки переходов между треками, то важно, чтобы параллельно с веб-интерфейсом не был запущен APlayer.exe. Еще можно попробовать в функции PlayTimer закомментировать строку с if перед вызовом UpdateState (чтобы состояние плеера обновлялось по таймеру постоянно).
