Перейти к содержанию
View in the app

A better way to browse. Learn more.

Dr.Head Forum. Всё можно послушать!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

1920x420_D.webp

Album Player (Aplayer)

Featured Replies

Опубликовано

1.html посмотрел, осталось понять как должна выглядеть функция и как её подключить в html, а также разобраться что и как сделать, чтобы вместо zepto заработал jquery )

Изменено пользователем AleXH

  • Ответов 20,7k
  • Просмотры 3,1m
  • Создана
  • Последний ответ

Больше всех сообщений

Популярные сообщения в теме

  • Есть область "beyong bit-perfect". То есть, когда bit-perfect уже есть, а проблемы остаются. Авторы ряда популярнейших плееров, включая foobar2000 и AIMP, активно отрицают саму принципиальную возможн

  • Обновление плеера от 31.01.2023 Для Windows • Исправлено восстановление выбора последнего воспроизводившегося трека при перезапуске плеера для альбомов с индексной картой .cue. • Для веб-интер

  • Для чайников все просто и так - нажать кнопку "пуск" и слушать. Настройки - от лукавого

Изображения в теме

Опубликовано
  • Автор

Чтобы вместо 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(). Параметры те же.

Изменено пользователем IgorA

Опубликовано

aplayer.js:

// Инициализация при загрузке
$.getJSON('?GetAlbums', ParseAlbums);
window.onblur = onblur;
window.onfocus = onfocus;

$(activeItemChanged: function(evt,ui)
{
$("#Albums").igCombo({
 width: 1200, // 1200px
dataSource: data.Albums,
 textKey: "Name",
 valueKey: "Name",
 dropDownonfocus: true,
 dropDownOrientation: "bottom"
});
});

function StopTimer()

 

aplayer.css:

.wideList
{
background-color: rgb(68,68,68);
width: 1200px;
}

 

aplayer.html, подключаемые файлы положил в папку web:

head>
!-- <script src="zepto.min.js"></script> -->
script src="aplayer.js"></script>
link rel="stylesheet" href="aplayer.css">
meta charset="utf-8">
meta name="viewport" content="width=device-width, initial-scale=1.5">
title>APlayer Web Interface</title>
link href="infragistics.theme.css" rel="stylesheet" />
link href="infragistics.css" rel="stylesheet" />
script src="jquery-1.11.3.min.js"></script>
script src="jquery-ui.1.11.1.min.js"></script>
script src="infragistics.core.js"></script>
script src="infragistics.lob.js"></script>
/head>
body>
div id="all">
table>
tr>
td colspan="3">
select name='Album' id='Albums' size="1" onchange="ChangeAlbum(this)" class="list wideList" style='padding-left: 2px; line-height: 1.1; overflow: hidden; color: rgb(146,255,127)'></select>
/td>

что не так?

 

P.S. Кто нибудь знает как здесь публиковать html код, чтобы его было нормально видно?

Изменено пользователем AleXH

Опубликовано
  • Автор

Функцию из 1.html (заголовок) надо оставить как было, без имени и параметров. Она создает элемент combobox. А activeItemChanged добавить в число строк в ее параметрах. Как значение этого параметра надо указать обработчик выбора, который вместо ChangeAlbum должен будет вызываться. А dataSource должен быть глобальный массив объектов с полем Name, как в примере. Но заполнять его надо программно в ParseAlbums, вместо кода, который заполнял прежний элемент тегами option.

Опубликовано

Понял, не осилю, поэтому если кому-нибудь интересен отбор альбомов по введённым символам, милости просим. Для массивных папок классики, мюзиклов и тд. фильтр придётся кстати - там сортировка по алфавиту бессильна, в названиях царит полный хаос.

Опубликовано
  • Автор

@AleXH, вот вариант с фильтрацией списка альбомов, прикрученной к последнему web1200x650, со стандартным оформлением списка. Чтобы поменять оформление, надо переопределять классы стилей этого списка в css. Чтобы не было зависимости от интернета внешние файлы js и css можно будет поменять на их локальные копии.

web1200x650-filter.zip

Опубликовано

Любителям прогрока настоятельно рекомендую обратить внимание на радиостанцию The Dividing Line Radio (Канада,Ванкувер)...Небольшой коллектив(ок.10 человек) делают достойно свою работу - постоянно пополняют плейлист,находят новых исполнителей,организуют он-лайн трансляции и интервью и т.д...Мне очень нравится - за неполный год ровно 600 прослушиваний(радиоплеер ведёт статистику)... :music: ...Вот и версия для АПлеера:The Dividing Line Radio (160kbps).txt

Изменено пользователем Solo53

Опубликовано
  • Автор

В установочном комплекте эта станция есть в папке Radio/Rock Radio HD

Опубликовано

В установочном комплекте эта станция есть в папке Radio/Rock Radio HD

Спасибо,Игорь!...Я давненько не обновлялся - поэтому и не знал...Кстати ,файл с расширением .rad мне не удалось сюда загрузить - причину не знаю... :?:
Опубликовано
  • Автор

Здесь ограничен список допустимых расширений загружаемых файлов. В zip-архиве можно выкладывать.

Опубликовано

Игорь, спасибо - работает, при этом загрузка страницы не завершается, словно не всё догружено и загружается несколько мутновато из-за монструозности фреймворка, но работает...

Опубликовано

Уважаемые пользователи форума Doctorhead!

 

С 01 по 31 июля 2017 года проводится промежуточный опрос по определению лучшего программного аудиоплеера (ПАП) за І полугодие 2017 года.

Приглашаю Вас и Ваших друзей принять участие в голосовании.

Подведение итогов результатов голосования планируется в первых числах августа 2017 года.

 

Благодарю Вас за потраченное время и помощь в определении лучшего ПАП за І полугодие 2017 года.

Спойлер

DALI iO-12

 

Опубликовано

Игорь, нашёл js-фильтр списков и таблиц без фреймворков, может его прикрутите? - Он мелкий и очень быстрый. Автор, Михаил Гутентог, мне 6 лет назад сделал на js замечательный сортировщик таблицы по разным колонкам, с цветовой группировкой одинаковых значений, я этим сортировщиком пользуюсь по сей день - вещЪ! ) Особенно незаменимая, когда таблицы массивные и сортируются по десятку колонок одновременно.

Опубликовано
  • Автор

@AleXH, вот фильтр для списка альбомов без фреймворков (как обновление к последнему варианту web1200x600). И без оформления.

Добавлена одна строка в html и одна функция в конец js.

web1200x600-filter2.zip

Опубликовано

Не понял как ей пользоваться - при вводе и нажатии Enter ничего не происходит ни в Опере, ни в Хроме - дело оказалось в zepto.min 1.2.0, вернул 1.1.6 - выбирает первый совпавший, но в Опере не прячет не совпавшие - не страшно, всё устраивает, спасибо.

 

с фильтром в правом-верхнем углу.

2017_07_09_104030.png

Изменено пользователем AleXH

Опубликовано

А нет ли возможности прикрутить к АПлееру какой-нибудь плагин для прослушивания музыки из ВК?

Опубликовано
  • Автор

@BSV

Плагин для прослушивания музыки из ВК прикрутить непосредственно к АПлееру нет возможности. Cторонний софт, поддерживающий вывод на UPnP/DLNA рендерер, в частности, foobar2000, для которого был ВК плагин, может воспроизводить с онлайн источников через ap2renderer.

Опубликовано
  • Автор

выбирает первый совпавший, но в Опере не прячет не совпавшие - не страшно, всё устраивает, спасибо.

Там если в функции OnSearch в двух местах поменять Albums.AlbumsS на Albums.Albums,

то будет искать по полному описанию с форматом и,соответственно, можно выбирать "flac", например.

Опубликовано

exe стартует с активным треком, на котором остановились в прошлый раз. Возможно реализовать такое же для web? чтобы его перезапуск, равно как и перезагрузка страницы не сбрасывали текущий трек на 1-й?

Опубликовано
  • Автор

@AleXH, надо заменить ap2web.exe на прикрепленный файл и в aplayer.js в конце функции ParseAlbums заменить

SelectSong(-1) на SelectSong(SavedSongIndex).

ap2web3_x32.zip

Опубликовано

Спасибо, работает ) Что из сделанного пойдёт в серию?

Опубликовано
  • Автор

В основном все пойдет, возможно, кроме панельки с путем к файлу, которую я считаю мало кому нужной. Видимо, в обновленной версии веб-интерфейса будет еще удаление альбомов и сохранение/удаление плейлистов. Как параллель будущей linux версии, где веб-интерфейс должен быть полноценным плеером.

Опубликовано

Тоже хотел попросить API удаления альбомов из плейлиста. Прошу оставить в АПИ запрос локации GetPath - когда в плейлисте несколько версий одного альбома/мюзикла с помощью GetPath можно понять, что есть что - в тегах или куе далеко не всегда всё прописано. Да и (i) занимает минимум места, причём слубоко справа, к томуже она и кнопка открытия картинок прозрачные.

 

Переключаюсь на страницу плейера и 2-й раз (сегодня и вчера) вижу на последнем треке альбома, что ползунок стоит в конце, музыка звучит, время идёт за концом трека - словно разметка у трека неверная, но это не так. Возможно это возникает только во времена большой нагрузки на единственное оставшееся свободным ядро - нужно посмотреть, проявляется ли баг в релаксе.

Изменено пользователем AleXH

Опубликовано
  • Автор

@AleXH, в новом варианте обработки переходов внутри CUE для последнего трека из однофайлового образа не обновлялась метка времени начала воспроизведения трека (наследовалась от предыдущего трека), поэтому ползунок сразу сдвигался вправо. Вот исправленный вариант.

ap2web4_x32.zip

Опубликовано

Игорь, команды у нас в АПИ есть, а есть ли у нас события? Например смены трека, альбома?

 

Возможно есть смысл в командах повтора трека, альбома.

Изменено пользователем AleXH

Для публикации сообщений создайте учётную запись или авторизуйтесь

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу

Account

Navigation

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.