Помощь
Для чего нужен MusicBee UPnP Plugin
Плагин с открытым исходным кодом для MusicBee, который подключает вашу библиотеку к устройствам UPnP/DLNA в вашей домашней сети — телефонам, смарт-телевизорам, Hi-Fi стримерам, сетевым колонкам — без облака и без входа в систему. Это форк оригинального UPnP плагина Стивена Мэйалла, переработанный для удобного просмотра большой, разнообразной библиотеки с другого устройства.
Две вещи отличают этот форк от обычного UPnP-сервера, и они являются причиной его выбора:
- Он публикует всю MusicBee — а не только "Музыку". Ваши Фильтры, Подкасты, Аудиокниги, Радиостанции, Входящие и ваши Плейлисты — все они отображаются как отдельные просматриваемые контейнеры на другом устройстве, наряду с музыкой. Большинство серверов показывают плоскую музыкальную библиотеку и ничего больше.
- Каждый из этих узлов можно показывать, скрывать и формировать индивидуально. Вы решаете, какие узлы видит устройство, и даете каждому свой путь обнаружения — маршрут, по которому вы просматриваете его (Исполнитель альбома → Альбом → Треки, плоский список треков, по Жанру, по Году…). Библиотека из 300 000 треков в итоге просматривается как хорошо организованная, а не как плоский дамп данных.
Помимо этих двух основных идей, плагин организован вокруг одного структурного факта: MusicBee может играть три различные сетевые роли, и каждый экран в диалоговом окне настроек относится к одной из них. Разберитесь с этими тремя ролями, и остальная часть диалога объяснит себя сама:
- Сервер — другие устройства просматривают библиотеку MusicBee и извлекают из нее треки. Здесь находятся две основные функции, упомянутые выше.
- Рендерер — MusicBee становится целью, на которую другие приложения могут воспроизводить, как сетевая колонка.
- Точка управления — MusicBee воспроизводит свой собственный звук на удаленную колонку или стример.
Вы можете использовать одну роль или все три. Включайте только то, что вам нужно. В этом руководстве каждая настройка объясняется рядом с функцией, к которой она относится — нет отдельного списка "настроек" для перекрестных ссылок.
Установка
- Загрузите
mb_UPnP_yaiol.dllсо страницы релизов. - Скопируйте его в папку плагинов MusicBee, обычно
C:\Users\<you>\AppData\Roaming\MusicBee\Plugins\. - Перезапустите MusicBee.
- Откройте Редактировать → Настройки → Плагины, найдите MusicBee UPnP Plugin и нажмите Настроить.
DLL-файл yaiol имеет уникальное имя, поэтому он может находиться на диске и работать параллельно с оригинальным плагином без конфликтов.
Сервер — другие просматривают вашу библиотеку
UPnP — это протокол для аудиоустройств, позволяющий им находить и управлять друг другом по локальной сети, и в нем каждый участник играет определенную роль. С включенной ролью Сервер (переключатель UPnP Server) MusicBee играет роль Медиасервера: он отвечает на запросы обнаружения в вашей локальной сети и предоставляет свою библиотеку любому запрашивающему устройству. С другого устройства вы видите дерево медиафайлов и нажимаете для воспроизведения; аудиопоток передается со встроенного HTTP-сервера MusicBee прямо на устройство. MusicBee — это просто источник, а другое устройство управляет им.
Зачем это использовать. Это превращает один ПК, на котором хранится вся ваша коллекция, в сетевой источник, доступный для любого другого гаджета, без копирования файлов или входа в систему. Это та часть плагина, в которую форк вкладывает больше всего средств, и именно здесь находятся две главные функции — что вы публикуете (ниже) и как формируется каждый узел.
Когда отключать. Только если вы никогда не просматриваете MusicBee с другого устройства. Эта роль независима от двух других; вы можете обслуживать библиотеку и при этом оставить роли рендерера и точки управления выключенными.
Несколько общесерверных настроек расположены рядом с переключателем: имя сервера, которое другие устройства показывают в своем списке, сетевой интерфейс и порт, к которым привязывается MusicBee (см. Поиск друг друга в сети), и ограничение max-connections на количество одновременных потоков, которые сервер будет обслуживать.

Настройки
| Элемент управления | Что он делает |
|---|---|
| Сервер UPnP: Разрешить устройствам UPnP просматривать и воспроизводить из библиотеки MusicBee | Главный переключатель для роли Сервер — позволяет устройствам UPnP просматривать и воспроизводить из библиотеки MusicBee. |
| Имя сервера | Имя, которое другие устройства показывают для MusicBee при его обнаружении. |
| Макс. подключений | Максимальное количество одновременных потоков файлов, которые будет обслуживать сервер (по умолчанию 16, диапазон 1–256). Увеличьте его, если устройство, отправляющее много параллельных запросов, вызывает значок ⚠ Max Conn. Вступает в силу после перезапуска. |
| Обновлять статистику воспроизведения в MusicBee | Учитывает треки, воспроизведенные через UPnP, в счетчиках воспроизведений MusicBee и метках времени последнего воспроизведения. |
Публикуйте всю MusicBee, а не только Музыку
Это первая из двух основных функций форка. Обычный UPnP-сервер предоставляет сети единую плоскую библиотеку "Музыка". Этот же выводит каждую область контента, которую организует MusicBee, каждую как свой собственный контейнер верхнего уровня на просматривающем устройстве.
Семь вещей, которые MusicBee может публиковать
Когда устройство просматривает MusicBee, корневой каталог, на который оно попадает, может предлагать все это, бок о бок:
- Музыка — ваша основная библиотека, сформированная так, как вам нравится (см. пути обнаружения ниже).
- Фильтры — вкладки фильтров, которые вы уже используете в верхней части основного вида MusicBee (
Music,ALL,FAV, джазовый фильтр, классический фильтр, все, что вы настроили) появляются как точки входа, отражая то, как вы уже думаете о своей библиотеке. Фильтры считываются в реальном времени из тех же файлов, которые использует сама MusicBee, поэтому они остаются синхронизированными без какой-либо настройки. - Подкасты — ваши подписки на подкасты, каждая из которых открывается к своим эпизодам, с сохранением обложек подписок.
- Аудиокниги — категория Аудиокниги MusicBee.
- Радио — ваши сохраненные интернет-радиостанции.
- Входящие — папка Входящие MusicBee с недавно добавленными, еще не отсортированными треками.
- Плейлисты — ваши плейлисты MusicBee.
Поскольку они поступают непосредственно из MusicBee, им не требуется отдельная настройка — подпишитесь на подкаст или добавьте станцию в MusicBee, и она будет доступна из сети при следующем просмотре устройством. Появится ли каждый из них на самом деле и какую форму он примет, — это задача следующей функции.
По умолчанию, Фильтры и Плейлисты находятся в аккуратной папке-оболочке. Появляется ли каждый источник на самом деле, где он находится — включая закрепление тех, к которым вы чаще всего обращаетесь, высоко в корневом каталоге просмотра, сгруппированных по типу — и какую форму он принимает, все это определяется для каждого узла следующей функцией.
В более ранних версиях этой справки "отсутствие корневого контейнера подкастов" было указано как ограничение. Это больше не так — подкасты публикуются как и любой другой источник.
Показать, скрыть и сформировать каждый узел
Это вторая главная функция, которая дала форку его название. Публикация семи источников была бы шумом, если бы вы не могли ими управлять — поэтому каждый открытый узел независимо переключается, может быть закреплен в корне и имеет свой собственный путь обнаружения.
Вы управляете всем этим на вкладке Вид диалогового окна настроек, которая показывает все открытое дерево в виде контрольного списка. Шаблон всегда один и тот же: отметьте узлы, с которыми вы хотите работать, затем используйте элементы управления рядом с деревом, чтобы установить их все сразу — сделать их видимыми или скрытыми, закрепить их в верхней части дерева или применить шаблон пути. Таким образом, вы можете открыть Музыку, Фильтры и Плейлисты, скрыть Входящие и Радио, закрепить свой джазовый фильтр в корне и придать Подкастам форму по подписке — каждый независимо.

Показать, скрыть и закрепить каждый узел
Два переключателя определяют, появляется ли узел и где, независимо от его формы. Оба находятся на вкладке Вид в виде трехпозиционных флажков, которые действуют на каждый узел, отмеченный вами в дереве:
- Видимый — видят ли устройства узел вообще. Снимите флажок, чтобы скрыть узел; он останется в вашей библиотеке, но просто перестанет рекламироваться. (Поскольку он действует на отмеченный набор, флажок показывает затененное "смешанное" состояние, когда ваш выбор частично видим, частично скрыт.) Скрытые узлы отображаются серым цветом в дереве — и папка становится серой, как только каждый узел внутри нее скрыт — так что с первого взгляда вы видите, что еще открыто.
- Верхний уровень — закреплен ли узел также высоко в корневом каталоге просмотра. Закрепление аддитивно: узел по-прежнему отображается в своей обычной папке-оболочке и получает копию в верхней части корня, сгруппированную по типу — закрепленный фильтр находится непосредственно под папкой Filters, закрепленный плейлист — непосредственно под папкой Playlists — так что ваши ярлыки остаются рядом с тем, к чему они относятся. Закрепленные узлы помечены значком ★ в диалоговом окне, чтобы вы могли с первого взгляда увидеть, какие из них подняты.
Когда фильтр или плейлист закреплен в корне, его может быть трудно отличить от обычного источника верхнего уровня, поэтому вы можете добавить короткий префикс к его отображаемому имени (устанавливается на вкладке Параметры библиотеки). Префикс является буквальным — все, что вы вводите, помещается перед именем дословно, поэтому включите свой собственный пробел в конце, если он вам нужен.
Рабочий пример. Вы перемещаетесь в основном с помощью вашего фильтра Jazz и плейлиста Friday Night, оба в настоящее время скрыты внутри папок-обёрток Filters и Playlists.
Вы отмечаете оба узла в дереве View и нажимаете Top level. Каждый теперь отображает ★ в диалоговом окне. На устройстве просмотра они по-прежнему отображаются внутри своих папок-обёрток, как и раньше, но также получают копию высоко в корне, каждая рядом со своим типом: закрепленный фильтр Jazz находится непосредственно под папкой Filters, а закрепленный плейлист Friday Night — непосредственно под папкой Playlists. Когда префикс фильтра установлен на Filter: и префикс плейлиста на Playlist: , две закрепленные копии отображаются как Filter: Jazz и Playlist: Friday Night — отличаясь от их копий внутри папки-обёртки, и каждая находится рядом с папкой своего типа. Снимите отметку с Top level для любого из них, и его закрепленная копия исчезнет, оставив копию в папке-обёртке нетронутой.
Это заменяет старые глобальные переключатели «показывать фильтры в корне» / «показывать плейлисты в корне»: закрепление теперь является выбором, который вы делаете для каждого узла, для любого источника, а не переключателем «все или ничего» для фильтров и плейлистов.
Настройки
| Элемент управления | Что он делает |
|---|---|
| Видимый | Показывает или скрывает каждый отмеченный узел. Скрытые узлы остаются в вашей библиотеке, но не рекламируются устройствам. Затененное "смешанное" состояние, когда часть выбранного видна. |
| Верхний уровень | Также закрепляет каждый отмеченный узел высоко в корневом каталоге просмотра, сгруппированный по типу — закрепления фильтров под папкой Filters, закрепления плейлистов под папкой Playlists (аддитивно — узел также сохраняет свое обычное место). Закрепленные узлы отображаются со значком ★ в диалоговом окне. |
| Префикс фильтра (в корне) | Буквальный текстовый префикс, помещаемый перед именем фильтра, когда он закреплен в корне (помогает сгруппировать закрепленные копии). |
| Префикс плейлиста (в корне) | Буквальный текстовый префикс, помещаемый перед именем плейлиста, когда он закреплен в корне. |
Пути обнаружения — маршрут детализации каждого узла
Путь обнаружения — это маршрут, по которому браузер проходит внутри узла. Один и тот же узел может быть представлен как Исполнитель альбома → Альбом → Треки, или как единый плоский список треков, или сгруппирован по Жанру, а затем по Исполнителю, или по Году. Путь строится из одного или нескольких уровней (поле, по которому группируется каждый уровень), заканчивающихся листом (то, что показывает самый глубокий уровень — альбомы, затем их треки, или плоский список треков). Узел может даже содержать несколько путей одновременно, предлагая несколько способов входа.
Различное содержимое требует разных форм, и неправильная форма делает узел непригодным для использования. Музыка требует группировки по исполнителю альбома; плейлист требует плоского упорядоченного списка; подкасты требуют своих подписок. Каждый узел получает правильный ответ, потому что каждый содержит свой собственный путь.
Рабочий пример. У вас есть фильтр Jazz на 5000 треков и плейлист "Friday Night" на 30 треков, оба доступны.
- Для фильтра Jazz вы применяете шаблон, путь которого — Исполнитель альбома → Альбом → Треки. На устройстве вы детализируете: исполнители, затем альбомы этого исполнителя, затем треки альбома в порядке диска и трека.
- Для плейлиста вы применяете шаблон Плоские треки. Открытие его дает 30 треков в порядке плейлиста, без слоя исполнителя или альбома между ними — именно то, чем должен быть плейлист.
Один и тот же плагин, одно и то же диалоговое окно, два узла, две совершенно разные формы — потому что путь является свойством узла, а не глобальной настройкой. Вы не можете предсказать макет узла на устройстве, не зная, какой шаблон он несет; вот почему это нужно уточнить.
Узел не просто получает копию шаблона — он следует ему. Дерево просмотра показывает, какому шаблону следует каждый узел, сразу после имени узла, и редактирование шаблона на вкладке Пути немедленно изменяет форму каждого узла, следующего за ним — без повторного применения узла за узлом. Применение шаблона к скрытому узлу также делает его снова видимым: применение — это жест "покажи мне это, оформленное так", в то время как скрытие остается с флажком "Видимый". Каждая строка шаблона показывает живой счетчик (n) узлов, следующих за ним, и шаблон может быть удален только тогда, когда этот счетчик равен нулю — кнопка удаления остается отключенной, пока что-либо следует за шаблоном, поэтому узел никогда не может быть оставлен осиротевшим после удаления. Чтобы увидеть, какие именно узлы следуют шаблону, кнопка-воронка рядом с деревом просмотра фильтрует дерево до только этих узлов; выбор другого шаблона повторно фильтрует, а отключение воронки восстанавливает полное дерево. Удаление неиспользуемого шаблона теперь также сохраняется — поставляемые по умолчанию значения больше не пересоздаются незаметно при следующей загрузке плагина.
Когда путь заканчивается листом Альбом → Треки, вы также решаете, что считать одним альбомом. Вместо строгой группировки по названию альбома вы выбираете одно или несколько полей — Альбом, Сортировка альбома, Год, Исполнитель альбома — которые вместе определяют, какие треки объединяются в один альбом, как читается его заголовок, и порядок появления альбомов, каждое поле сортируется по возрастанию или убыванию. Добавление Исполнителя альбома разделяет два одноименных альбома разных исполнителей; добавление Года по убыванию перечисляет альбомы исполнителя от новейших к старейшим. При группировке по году MusicBee предлагает два поля, которые отражают его собственные — Год, полный тег даты (который может содержать полную дату, например 2024-03-15), и Год (гггг), только четырехзначный год — поэтому выбор Год (гггг) собирает все релизы года вместе, вместо того чтобы разделять их по точной дате.
Значения по умолчанию разумны — новые фильтры формируются по исполнителю альбома, плейлисты и Входящие получают разумные значения по умолчанию — поэтому в обычном случае вы ничего не меняете. Обратитесь к вкладке "Вид", когда вы хотите, чтобы конкретный узел был оформлен по-другому.
Настройки
Вы создаете именованные, многократно используемые шаблоны путей на вкладке Пути, а затем применяете их к узлам на вкладке Вид.

| Элемент управления | Что он делает |
|---|---|
| Применить к отмеченным конечным точкам | Заставляет каждый узел, который вы отметили в дереве, следовать текущему выбранному шаблону (и снова отображает его, если он был скрыт). |
| Развернуть все / Свернуть все | Разворачивает или сворачивает все дерево конечных точек. |
| Показывать только узлы, соответствующие выбранному шаблону | Переключатель воронки: фильтрует дерево конечных точек до только тех узлов, которые следуют выбранному шаблону. Выберите другой шаблон для повторной фильтрации; отключите, чтобы восстановить полное дерево. |
| Шаблон | Именованный шаблон пути, который редактируется. |
| ↑ / ↓ | Перемещает выбранный шаблон вверх или вниз в списке, чтобы упорядочить представление ваших шаблонов. |
| Группировать по | Поле(я), по которым группируется уровень (например, Исполнитель альбома). |
| Лист | Что показывает самый глубокий уровень. |
| Альбом → Треки (AT) | Режим листа: Альбом → Треки — детализация через альбомы к их трекам. |
| Плоские треки (T) | Режим листа: Плоские треки — единый плоский список треков. |
| Включить [Все треки] на каждом уровне | Добавляет ярлык [Все треки] на каждом уровне. Отображается только в режиме Альбом → Треки. |
| Группировать альбомы по | Определяет, что считается одним альбомом, как читается его название, и порядок появления альбомов — выберите одно или несколько полей (Альбом, Сортировка альбома, Год, Исполнитель альбома…), каждое со своим переключателем по возрастанию/убыванию. Отображается только в режиме Альбом → Треки. |
| Добавить / Удалить | Добавить или удалить путь в шаблоне. |
Пути привязаны к типу узла, к которому они подходят
Не каждое поле имеет значение для каждого типа узла. У радиостанции нет альбома или года; у эпизода подкаста есть подписка, папка и дата публикации, но нет исполнителя альбома. Поэтому каждый путь относится к одной из трех категорий — Стандартный (ваша музыка, фильтры, аудиокниги, входящие и плейлисты, которые содержат полные теги), Радио или Подкаст — и эта категория сразу определяет две вещи: по каким полям вы можете группировать и к каким узлам может быть применен путь.
На вкладке Пути список шаблонов отображается в двух разделах: Стандартный — где находятся ваши собственные шаблоны и где создается каждый новый шаблон — и Зарезервированный раздел, содержащий шаблоны Радио и Подкастов. Пока вы редактируете Стандартный шаблон, меню полей предлагает все; шаблон Радио предлагает только те поля, которые фактически есть у станции; шаблон Подкаста только то, что есть у эпизода — его папку, его подписку и год публикации. На вкладке Вид применение шаблона подсвечивает только те узлы, к которым он подходит — остальные становятся серыми и не могут быть отмечены — поэтому Стандартный путь никогда не может быть применен к узлам Радио или Подкастов.
На самом деле вы вообще никогда ничего не применяете к Радио или Подкастам: каждый из них постоянно связан с шаблоном своей категории. Измените шаблон Радио или Подкастов на вкладке Пути, и узел изменится сам по себе; при выбранном Зарезервированном шаблоне кнопка Применить просто отключена, потому что нечего применять. Это предотвращает создание пути, который незаметно ничего не производит, группируя по полю, которое узел не может заполнить — и поскольку отслеживаемый шаблон никогда не может быть удален (см. Пути обнаружения выше), шаблоны Радио и Подкастов всегда доступны для изменения.
Исполнители, отсортированные по имени для сортировки
Внутри любого музыкального узла исполнители группируются и располагаются в алфавитном порядке по тегу Sort Album Artist, а не по отображаемому имени. Это та часть, которая удивляет людей, поэтому вот что именно происходит.
Рабочий пример. Предположим, трек помечен тегами:
- Artist =
Bob Dylan- Sort Album Artist =
Dylan, BobВ дереве просмотра Дилан будет отсортирован под буквой D (от
Dylan, Bob), а не под B (отBob Dylan). Тег сортировки определяет как группировку, так и алфавитную позицию, точно так же, как это сделал бы браузер hi-fi или музыкальный магазин.
Это происходит автоматически и полностью зависит от ваших существующих тегов MusicBee — ничего настраивать не нужно.
Многозначные теги разворачиваются
Когда тег Album Artist (или Genre) трека содержит более одного значения, трек появляется под каждым значением отдельно, вместо того чтобы создавать одну объединенную запись.
Рабочий пример. Тег Album Artist трека содержит два значения:
yaiol; Ars Ricercata. Этот трек появляется как подyaiol, так и подArs Ricercata— по одному разу в ветке каждого исполнителя — а не под одним поддельным исполнителем "yaiol; Ars Ricercata". Многозначные теги исполнителей разворачиваются так же, как и многожанровые теги.
Как и группировка по имени для сортировки, это происходит автоматически и зависит от тегов.
Разделение длинных списков по первой букве
Если уровень становится слишком длинным для комфортной прокрутки на телефоне, его можно разделить по первой букве — вставить слой A, B, C, … над записями, чтобы сначала выбрать букву. Это настраивается для каждого поля внутри шаблона из контекстного меню поля: Split [field] by their first letter. Отключите для коротких списков; включите для уровней — обычно исполнителей — где список огромен.
Просмотр тега как вложенного дерева
Некоторые теги упаковывают иерархию в одно значение с разделителем — тег Группировка Jazz/Cool Jazz, пользовательский жанр Electronic/Ambient/Drone. По умолчанию вся эта строка является одной плоской записью, поэтому структура, закодированная в теге, теряется. Отметьте поле как иерархическое, и плагин разделит каждое значение по выбранному вами разделителю и превратит его в дерево с детализацией — вы выбираете Jazz, затем Cool Jazz, точно так, как написано в теге.
Вы настраиваете это на вкладке Параметры библиотеки: выберите поле, введите один символ, который разделяет его уровни (например, /), и добавьте его в список. Затем это применяется везде, где это поле используется в качестве уровня группировки в любом пути обнаружения. Треки, помеченные на ветви, а не на листе — помеченные просто Jazz, без поджанра — появляются под записью [Jazz] в скобках рядом с более глубокими ветвями, так что ничего не скрыто. Ветвь, содержащая только одного потомка, сворачивается автоматически (то же правило одного выбора, что и везде), и ; не может использоваться в качестве разделителя — это собственный разделитель многозначных значений MusicBee, поэтому значение типа Rock; Jazz/Cool Jazz сначала разделяется на два тега, затем каждый из них детализируется.
Пример. Ваши треки содержат тег Группировка типа
Jazz/Cool Jazz,Jazz/Hard BopиClassical/Baroque, а также путь обнаружения, который группирует по Группировке. В плоском виде узел содержит три длинные записи. Отметьте Группировка как иерархическую с/, и тот же узел теперь открывается на Jazz и Classical; открытие Jazz показывает Cool Jazz и Hard Bop. Трек, помеченный простоJazz, отображается под записью [Jazz] рядом с ними. Вы не можете предсказать этот макет только по тегу — он полностью зависит от того, какое поле вы отметили и с каким разделителем — поэтому стоит настроить его целенаправленно.

Настройки
| Элемент управления | Что он делает |
|---|---|
| Иерархические поля | Список полей, отображаемых в виде дерева с детализацией, каждое в паре со своим односимвольным разделителем. Выберите поле, введите разделитель (не ;) и добавьте его; затем поле детализируется уровень за уровнем везде, где путь обнаружения группирует по нему. |
Уровни с одним выбором сворачиваются сами по себе
Когда уровень группировки имеет только одну запись для того, что вы просматриваете, плагин пропускает его, вместо того чтобы заставлять вас открывать папку, которая содержит одну папку — вы сразу переходите к следующему реальному выбору. Ничего настраивать не нужно; это происходит автоматически на каждом пути.
Рабочий пример. Ваш путь группируется по Record Type → Album → Tracks. Исполнитель, который когда-либо выпускал только LP, в противном случае заставил бы вас открыть единственную папку Record Type → LP только для того, чтобы добраться до альбомов. Вместо этого, открытие этого исполнителя сразу переносит вас к альбомам — избыточный уровень исчезает для этого исполнителя, в то время как исполнитель с LP и EP по-прежнему показывает выбор типа записи. Несколько уровней с одной записью подряд сворачиваются вместе, и уровень по первой букве с только одной буквой в игре исчезает таким же образом.
Обложки альбомов в дереве просмотра
Альбомы передают свои обложки в ответ на запрос просмотра, поэтому устройства, которые показывают миниатюры в своих списках, фактически отображают их. (Исходный плагин прикреплял обложки только к отдельным трекам, поэтому списки альбомов отображались как обычный текст.) Ничего настраивать не нужно — это просто передается вместе с альбомом.
Поиск и перемешивание с устройства
Большинство управляющих приложений размещают поле поиска и папку «случайный» или «перемешать» рядом с деревом просмотра. Оба запроса поступают в MusicBee как один и тот же тип UPnP-запроса, и на оба запроса отвечают в реальном времени из вашей библиотеки, а не из предварительно созданного индекса — поэтому трек, который вы переименовали минуту назад, находится сразу.
Поиск соответствует названию или исполнителю. Поиск по названию просматривает название трека, когда ваше приложение ищет треки, и название альбома, когда оно ищет альбомы. Поиск по исполнителю соответствует либо исполнителю трека, либо исполнителю альбома, поэтому сборник будет найден независимо от того, введете ли вы имя исполнителя или имя, под которым альбом записан. Результаты возвращаются постранично по мере прокрутки, поэтому термин, который соответствует тысячам треков, остается отзывчивым вместо того, чтобы зависать или возвращаться к первым результатам.
Пример работы. Вы ищете
Blueиз представления альбомов вашего управляющего приложения. Вы получаете альбомы с названием Blue — Kind of Blue, Blue Train — а не каждый альбом, который случайно содержит трек под названием "Blue". Переключите приложение в режим просмотра треков и найдите то же слово, и вы получите треки. Какое поле соответствует, зависит от того, что запросило ваше приложение, а не от того, что вы напечатали.
Папки перемешивания — записи Случайные треки и Случайные альбомы, которые показывают некоторые приложения — это запрос на срез всего, без прикрепленного поискового запроса. По умолчанию это «все» — вся ваша музыкальная библиотека, что редко бывает тем, что вам нужно, если половина ее — это разговорный жанр или материал, который вы никогда не перемешиваете. Случайное воспроизведение из на вкладке Параметры библиотеки позволяет указать вместо этого один из ваших фильтров MusicBee, так что каждый случайный запрос будет извлекаться только из содержимого этого фильтра. Скрытые фильтры также предлагаются здесь — область перемешивания не имеет ничего общего с тем, хотите ли вы, чтобы этот фильтр появлялся в дереве просмотра. Открытие папки перемешивания внутри фильтра на устройстве по-прежнему перемешивает этот фильтр: явный выбор, сделанный во время просмотра, всегда превалирует над настройкой.
Настройки
| Элемент управления | Что он делает |
|---|---|
| Случайное воспроизведение из | Откуда устройство получает запрос на перемешивание — Вся музыка (вся ваша библиотека, по умолчанию) или именованный фильтр MusicBee. Если выбранный фильтр позже удаляется или переименовывается в MusicBee, настройка незаметно возвращается к всей библиотеке. |
Адаптация потока к каждому устройству
Просмотр — это только половина работы; аудио все еще должно воспроизводиться на оборудовании, которое сильно различается по тому, что оно принимает. Эта функция позволяет MusicBee настраивать каждый поток — и она является общей: она применяется как тогда, когда роль Сервер передает трек устройству для просмотра, так и тогда, когда роль Точка управления воспроизводит его на удаленном рендерере. Ее определяют две концепции: профили устройств (что устройство может обрабатывать) и цепочка приоритетов перекодирования (будет ли трек вообще перекодирован).
Профили устройств — адаптация к каждому устройству
Реальное оборудование UPnP непоследовательно в том, что оно принимает: один стример хочет 24-битный FLAC, другой воспроизводит только 16-битный PCM, третий лжет о том, какие кодеки он поддерживает. Профиль устройства — это способ научить плагин ограничениям и особенностям конкретного устройства.
Как выбирается профиль. Каждое устройство идентифицирует себя строкой User-Agent при подключении. Профиль говорит: "примени меня, когда user-agent содержит этот фрагмент". Когда устройство подключается, плагин находит соответствующий профиль; если ни один не подходит, используется встроенный профиль Generic Device. Вы можете перечислить несколько фрагментов, разделенных | (например, Linn|ChorusDS|BubbleDS), чтобы один профиль охватывал семейство связанных устройств.
Что контролирует профиль. Ограничения, которые устройство не может превышать — максимальный размер изображения для обложки альбома, допустимый диапазон частоты дискретизации, максимальная битовая глубина, понижающее микширование только до стерео — плюс, когда трек действительно нуждается в преобразовании, в какой выходной формат и с какой частотой дискретизации его преобразовать. Отдельная группа переключателей "проблемного устройства" обходит специфические аппаратные ошибки (обработка raw-PCM, порядок байтов, заголовок HTTP content-length). Они существуют, потому что соответствие UPnP в реальных условиях является неполным; большинство людей никогда их не трогают.
Когда трогать профиль. Только когда конкретное устройство ведет себя неправильно. Из коробки общий профиль, а также предустановленные по умолчанию для каждого устройства для распространенного оборудования, охватывают большинство случаев. Чтобы найти user-agent устройства, чтобы вы могли его настроить, включите отладочное логирование (см. Диагностика), воспроизведите что-нибудь с устройства и прочитайте строку useragent= в журнале.
Самый важный переключатель профиля — force native stream — вообще не связан с ограничениями; он решает, применяется ли что-либо из вышеперечисленного. Это следующая концепция.


Настройки
| Элемент управления | Что он делает |
|---|---|
| Имя | Отображаемое имя профиля. |
| Применяется, когда user-agent содержит | Фрагмент(ы) user-agent, которые устройство должно содержать, чтобы соответствовать этому профилю; разделяйте альтернативы |. Несоответствующие устройства возвращаются к общему профилю. |
| Максимальный размер изображения | Максимальный размер изображения обложки альбома в пикселях, отправляемый на это устройство (160 пикселей — стандарт DLNA; больший размер не всегда поддерживается). |
| Частота дискретизации на выходе / до | Диапазон частоты дискретизации, который принимает устройство; источники вне его преобразуются (принудительное транскодирование). |
| Каналы / только стерео | Понижающее микширование многоканального звука до стерео для устройств, которые поддерживают только два канала. |
| Максимальная битовая глубина | Наибольшая битовая глубина, которую принимает устройство; источники с большей глубиной преобразуются. |
| Выходной формат | Когда требуется транскодирование, формат, в который нужно преобразовать (PCM, FLAC, MP3, AAC, Ogg). |
| Частота дискретизации на выходе | Частота дискретизации, используемая при транскодировании; "same as source" сохраняет оригинал. |
| Не использовать RAW PCM | Оборачивает PCM в контейнер WAV вместо отправки raw L16/L24. Для устройств, которые искажают raw PCM (некоторые Marantz). |
| Принудительно использовать little-endian для PCM-потоков | Отправляет PCM в формате little-endian вместо big-endian по спецификации. Устраняет воспроизведение белого шума на устройствах, которые ожидают little-endian. |
| Длина содержимого | Как заполнять заголовок HTTP Content-Length: Default (правильное значение), None (опустить), PCM Only или Fixed (сторожевое "огромное" значение). Для устройств, которые неправильно обрабатывают заголовок. |
Транскодировать или нет — цепочка приоритетов
«Транскодирование» означает перекодирование дорожки на лету — в формат, который может воспроизвести устройство, или для применения эквалайзера и выравнивания громкости MusicBee. Плагин предпочитает не транскодировать (отправка исходного файла быстрее и без потерь), поэтому он следует фиксированной цепочке правил для принятия решения. Более высокие правила выигрывают и молча переопределяют более низкие. Это самая непонятная часть плагина, потому что некоторые настройки выглядят так, будто они должны сотрудничать, но на самом деле нет.
| Приоритет | Правило | Эффект |
|---|---|---|
| 1 (наивысший) | Принудительное транскодирование (для каждого профиля устройства) | Всегда транскодировать. Переопределяет все нижестоящие. Взаимоисключающее с принудительным нативным — установка одного снимает отметку с другого. |
| 2 | Принудительный нативный поток (для каждого профиля устройства, по умолчанию ВКЛ) | Никогда не транскодировать для этого устройства. Полностью подавляет правила 3–5 — отправляет исходные байты независимо от формата, эффектов или ограничений. |
| 3 | Эквалайзер/DSP и ReplayGain (Библиотека) | Принудительное транскодирование для обработки аудио. Молча игнорируется, если выигрывает правило 2. |
| 4 | Частота дискретизации / битовая глубина / только стерео (профиль устройства) | Источник вне диапазона → транскодировать для соответствия. Молча игнорируется, если выигрывает правило 2. |
| 5 (наименьший) | Поддержка кодеков (профиль устройства) | Исходный кодек, который устройство не может воспроизвести → транскодировать в выходной формат профиля. Молча игнорируется, если выигрывает правило 2. |
Поскольку принудительный нативный поток по умолчанию включен для каждого профиля, стандартное поведение: передать устройству исходный файл и больше ничего не делать. Это идеально подходит для современного устройства в хорошей сети — но это означает, что эффекты Библиотеки и аудиолимиты профиля, похоже, «ничего не делают», пока вы не измените правило 2.
Рабочий пример. Вы хотите, чтобы выравнивание громкости ReplayGain от MusicBee применялось к вашему стримеру. Вы устанавливаете флажок Выравнивать громкость воспроизведения, используя активный режим ReplayGain в MusicBee в разделе Библиотека. Вы воспроизводите трек — и громкость совсем не выравнивается.
Почему: в профиле стримера все еще включен принудительный нативный поток (правило 2). Правило 2 имеет более высокий приоритет, чем правило ReplayGain (правило 3), поэтому плагин отправляет неизмененный файл, и ваша настройка ReplayGain молча пропускается.
Решение: откройте профиль этого устройства и снимите флажок принудительный нативный поток. Поскольку принудительный нативный поток для каждого профиля, вы можете оставить его включенным для вашего битового ЦАП Hi-Fi и выключенным для портативной колонки, которой нужен ReplayGain — каждое устройство получает правильный ответ.
Практические правила:
- Хотите, чтобы эквалайзер/DSP или ReplayGain применялись к устройству? Отключите принудительный нативный поток в профиле этого устройства.
- Хотите гарантировать свежее транскодирование (для тестирования или для устройства, которое не справляется с нативными файлами)? Установите флажок принудительное транскодирование в его профиле — оно имеет приоритет над всем.
- В противном случае оставьте принудительный нативный поток включенным. Это самая влиятельная настройка в плагине, и по умолчанию она подходит для большинства современного оборудования.

Настройки
| Элемент управления | Что он делает |
|---|---|
| Принудительный нативный поток (обход транскодера) | Отправляет исходные байты файла, минуя транскодер, эффекты, ReplayGain и аудиолимиты профиля. По умолчанию ВКЛ. Самая влиятельная настройка воспроизведения; правило 2 из цепочки выше. |
| Принудительное перекодирование (взаимоисключающее с принудительным нативным потоком) | Принудительно пропускает каждый поток на это устройство через транскодер. Имеет приоритет над принудительным нативным; эти два параметра взаимоисключающие (установка одного снимает отметку с другого). Правило 1. |
| Использовать эквалайзер и DSP-эффекты, активные в MusicBee [требует перекодирования] | Применяет эквалайзер и DSP-эффекты MusicBee к исходящему аудио. Принудительно транскодирует (правило 3) и подавляется на любом устройстве, в профиле которого включен принудительный нативный поток. |
| Выравнивать громкость воспроизведения, используя режим ReplayGain, активный в MusicBee [требует перекодирования] | Применяет выравнивание громкости ReplayGain от MusicBee. Принудительно транскодирует (правило 3) и подавляется на любом устройстве, в профиле которого включен принудительный нативный поток. |
| Принудительный нативный поток для радио (обход транскодера для станций) | Отправляет радио/потоковые источники без изменений, минуя транскодер специально для станций. |
Рендерер — MusicBee как цель воспроизведения
При включенной роли Рендерер (переключатель UPnP Renderer) MusicBee сообщает сети: «Я устройство, на которое можно воспроизводить». Отдельное приложение-контроллер — удаленное управление с телефона, другой медиаконтроллер — может затем выбрать MusicBee и передать ему аудио для воспроизведения на этом ПК. Вы даете цели дружественное имя рендерера, чтобы оно было узнаваемо в списке другого приложения.
Что он может воспроизводить. Оба типа треков, которые может отправить управляющее приложение. Если трек поступает из собственной библиотеки MusicBee — вы просматривали библиотеку этого ПК на своем телефоне и нажали на песню — MusicBee воспроизводит файл прямо со своего диска, без изменений, без потери качества, которую могла бы внести передача по сети. Если трек находится где-либо еще — файл, хранящийся на самом телефоне, NAS, другом медиасервере — MusicBee извлекает его и воспроизводит здесь.
Трек, отправленный из другого места, сначала копируется, и почему это важно. Для трека, которого нет в вашей библиотеке, MusicBee незаметно загружает копию во временную папку и воспроизводит ее, вместо того чтобы слушать ее по сети по мере поступления. Это необходимо: все, что MusicBee обрабатывает как живой сетевой поток, можно запускать и останавливать, но не перемещаться по нему, поэтому переход к другой точке песни был бы невозможен, а трек отображался бы как простой веб-адрес вместо его названия. Воспроизведение реального файла на собственном диске позволяет избежать обоих этих недостатков. Копирование занимает около секунды в домашней сети. Несколько копий хранятся рядом — воспроизводимая, следующая в очереди и одна позади, чтобы пропуск назад был мгновенным — а старые удаляются по мере поступления новых треков; все оставшееся очищается при следующем запуске MusicBee. Длина трека не является препятствием: длинный файл высокого разрешения или DSD извлекается как любой другой.
Интернет-радио распознается и остается без изменений. Прямая трансляция никогда не копируется, потому что у нее нет конца для загрузки, и все равно нечего пропускать — MusicBee просто воспроизводит ее как поток. Управляющее приложение сообщает, что из двух оно отправляет, поэтому это не требует никаких настроек и догадок с вашей стороны. То же самое относится, если копию не удалось получить по какой-либо другой причине: воспроизведение продолжается по сети, и только тогда название и ползунок позиции становятся ненадежными.
Альбомы воспроизводятся без пауз. Когда управляющее приложение сообщает MusicBee, что будет дальше — большинство так и делают — этот трек извлекается, пока текущий еще воспроизводится, и собственный плеер MusicBee пересекает границу. Таким образом, живая запись, диджейский сет или непрерывное классическое произведение, отправленное с телефона, воспроизводится так, как должно, а не останавливается на каждом треке.
Зачем это использовать. Это позволяет телефону или планшету использовать этот ПК в качестве UPnP-динамика — удобно, когда ПК подключен к хорошим динамикам, и вы хотите управлять им с дивана, независимо от того, находится ли музыка на ПК или на телефоне в вашей руке.
Когда его выключать. Оставьте его выключенным, если вы специально не хотите отправлять аудио на этот ПК из другого приложения. При выключенном состоянии MusicBee не будет отображаться как цель нигде, что обычно и требуется.
Используйте одно управляющее приложение за раз. UPnP не имеет понятия о том, что приложение «владеет» рендерером: любое приложение в сети может отправлять треки в MusicBee, и любое наблюдающее приложение может реагировать на то, что оно видит. Поэтому, если два плеера одновременно направлены на MusicBee, вы получите поведение, которое выглядит как ошибка, но таковой не является. Второе приложение, которое все еще выбрало MusicBee, продолжает наблюдать, видит, что отправленный им трек остановился, заключает, что его песня закончилась, и услужливо отправляет следующую из своей очереди — так музыка внезапно перескакивает на другой альбом, или нажатие далее в одном приложении запускает песню в другом. Остановка воспроизведения во втором приложении недостаточна, потому что оно остается выбранным и продолжает наблюдать. Направьте его обратно на собственный динамик телефона, на другое устройство или закройте его правильно.
Примечание о зрелости. Рендерер новее роли сервера и прошел меньше тестирования на реальном оборудовании. Если конкретное приложение-контроллер управляет им странно, об этом полезно сообщить.
Настройки
| Элемент управления | Что он делает |
|---|---|
| Рендерер UPnP: Разрешить другим приложениям воспроизводить в MusicBee | Главный переключатель для роли Рендерер — позволяет другим приложениям воспроизводить на MusicBee. Вступает в силу после перезапуска MusicBee. |
| Имя рендерера | Имя, которое этот ПК рекламирует как рендерер, отображаемое в списках устройств других приложений. |
Точка управления — воспроизведение на удаленный динамик
При включенной роли Точка управления (переключатель UPnP Control Point) сетевые рендереры UPnP/DLNA отображаются как устройства вывода внутри MusicBee — там же, где вы выбираете свою звуковую карту. Выберите одно, нажмите Play, и MusicBee будет передавать аудио на этот удаленный динамик или стример, пока вы продолжаете использовать собственный интерфейс MusicBee в качестве пульта.
Зачем это нужно. Это позволяет hi-fi стримеру или сетевому динамику вести себя как обычное устройство вывода MusicBee, без дополнительного программного обеспечения.
Когда отключать. Оставляйте его выключенным, если вы всегда воспроизводите только через собственные динамики этого ПК.
Две вещи определяют поведение этой роли. Первая — это бесшовное воспроизведение (ниже). Вторая — Адаптировать поток к каждому устройству — те же профили устройств и приоритет транскодирования, которые управляют сервером, применяются и здесь, поскольку плагин снова передает аудио на удаленное устройство. Точка управления также повторно использует HTTP server MusicBee для вывода аудио, поэтому порт сервера и правила брандмауэра имеют значение здесь, даже если вы никогда не включаете роль Server.
Настройки
| Элемент управления | Что он делает |
|---|---|
| Точка управления UPnP: Добавлять сетевые рендереры UPnP/DLNA как устройства вывода MusicBee | Главный переключатель для роли Точка управления — добавляет сетевые рендереры UPnP/DLNA в качестве устройств вывода MusicBee. |
Бесшовное воспроизведение — два разных механизма
Некоторая музыка предназначена для непрерывного воспроизведения — живые альбомы, классические произведения, диджейские сеты, концептуальные записи. Полсекунды тишины между треками портят их. Плагин предлагает два способа устранить этот разрыв, и они работают очень по-разному.
Истинное бесшовное воспроизведение (NextURI). Когда рендерер заявляет о его поддержке, плагин предварительно загружает следующий трек на устройство до того, как закончится текущий, так что устройство пересекает границу внутри без тишины — как CD-плеер. Это предпочтительный механизм: каждый трек сохраняет свои метаданные, поиск и пропуск по-прежнему работают, и ничего не нужно включать — плагин использует его автоматически на совместимых устройствах. Для каждого устройства вы можете отключить его (для оборудования, чья реализация ошибочна) или указать плагину не очищать поставленный в очередь трек, когда список опустеет (обходной путь для устройств, которые рассматривают пустую очередь как «остановку»).
Непрерывный поток. Более старый запасной вариант объединяет все в один бесконечный поток. Он гарантирует отсутствие пауз на любом устройстве — но ценой реальных затрат: рендерер показывает информацию о первом треке на протяжении всей сессии, элементы управления «далее/назад» перестают работать, и поскольку все объединено в один поток, все должно быть перекодировано (принудительное нативное воспроизведение неприменимо). Экранная метка объясняет компромисс.
Что использовать. Предпочитайте истинное бесшовное воспроизведение — оно автоматическое и без потерь. Переходите на непрерывный поток только для устройства, которое не может использовать NextURI и где паузы действительно вас беспокоят, принимая то, что вы теряете метаданные для каждого трека и элементы управления воспроизведением. Эти два варианта взаимоисключающие: включение непрерывного потока отключает NextURI, поэтому вы не сможете случайно запустить оба.

Настройки
| Элемент управления | Что он делает |
|---|---|
| Включить бесшовное воспроизведение (NextURI) для этого устройства | Включает истинное бесшовное воспроизведение (NextURI) для этого устройства. Включено для совместимых устройств; отключите, если реализация устройства ошибочна. |
| Не отправлять пустой NextURI при опустошении очереди | Прекращает отправку плагином пустого NextURI при опустошении очереди — обходной путь для устройств (например, Denon), которые рассматривают это как «остановку». |
| Выводить как непрерывный поток | Отправляет один непрерывный объединенный поток вместо отдельных треков. Устраняет паузы на любом устройстве, но рендерер показывает только информацию о первом треке, элементы управления воспроизведением перестают работать, и все перекодируется. Отключает NextURI, пока включено. |
Поиск друг друга в сети
Прежде чем любая из ролей сможет работать, устройства должны найти друг друга. Сервер MusicBee привязывается к сетевому адресу и TCP порту, затем объявляет себя в LAN через SSDP, чтобы устройства могли его обнаружить. Порт по умолчанию — 9779; если этот порт уже занят, плагин автоматически выбирает ближайший свободный, и устройства все равно его обнаруживают (вам нужно установить фиксированный порт только в том случае, если ваша настройка этого требует).
Две настройки имеют значение на машинах с необычной сетевой конфигурацией:
- IP-адрес / сетевой интерфейс. "Автоматически" работает на всех интерфейсах, что подходит для большинства ПК. На машине с несколькими сетями одновременно — Wi-Fi и Ethernet и VPN — выберите интерфейс, на котором фактически находятся ваши аудиоустройства, чтобы MusicBee рекламировал адрес, доступный для них.
- Порт. Изменяйте его только в том случае, если другая программа уже использует порт по умолчанию, или ваш брандмауэр настаивает на определенном номере.
Главная причина, по которой устройство "не видит MusicBee", — это брандмауэр, а не UPnP. Брандмауэр Windows должен разрешать порт MusicBee как для частного, так и для общедоступного сетевых профилей, и обычно вам приходится перезапускать MusicBee после изменения правил брандмауэра. Проверьте это, прежде чем что-либо менять внутри плагина.
Настройки
| Элемент управления | Что он делает |
|---|---|
| IP-адрес | К какому сетевому интерфейсу привязывается сервер; "Автоматически" использует все интерфейсы. Вступает в силу после перезапуска MusicBee. |
| порт | TCP-порт, который прослушивает HTTP server (по умолчанию 9779). Если порт занят, плагин автоматически выбирает свободный. Вступает в силу после перезапуска. |
Диагностика
Когда конкретное устройство ведет себя некорректно, поведение плагина остается невидимым, пока вы его не зарегистрируете. Эти инструменты служат для всех ролей, поэтому они находятся на отдельной вкладке Отладка, а не под одной функцией.
- Записывать отладочную информацию записывает каждый запрос, user-agent устройства и каждое решение о кодеке/транскодировании в файл журнала, который вы можете открыть с помощью Просмотр. Включите его во время устранения неполадок (и для определения user-agent устройства для профиля), затем снова выключите — журнал быстро растет. Вы также можете очищать его при каждом запуске.
- Сеть ограничена по пропускной способности (Воспроизведение) сообщает плагину, что всякий раз, когда он выполняет транскодирование, он должен использовать потерянный вывод профиля устройства (MP3/AAC/Ogg), а не большой без потерь. Включите его для медленных Wi-Fi соединений.
- Вкладка Отладка также содержит низкоуровневые инструменты запросов, предназначенные для разработки; вы можете игнорировать их при обычном использовании (см. Другие настройки).
Для повседневной диагностики используется следующая схема: включить логирование → воспроизвести проблему → прочитать лог → настроить соответствующий профиль устройства → отключить логирование.

Настройки
| Элемент управления | Что он делает |
|---|---|
| Вести журнал отладочной информации | Записывает каждый запрос, user-agent и решение о кодеке в файл. Включено при устранении неполадок, выключено в противном случае. |
| Очищать журнал при запуске плагина | Очищает журнал каждый раз при запуске плагина. |
| Просмотр | Открывает текущий файл журнала. |
| Очистить журнал | Очищает журнал сейчас. |
| Сеть ограничена по пропускной способности - перекодировать вывод в формат с потерями, установленный в профиле устройства выше | При транскодировании используется потерянный выходной формат профиля устройства. Для медленных соединений. Требует выбора потерянного формата в разделе транскодирования профиля. |
Быстрое устранение неполадок
| Симптом | Что попробовать в первую очередь |
|---|---|
| Устройство вообще не видит MusicBee | Проверьте Брандмауэр Windows для обеих сетей: частной и общедоступной; порт плагина (по умолчанию 9779) должен быть доступен. Перезапустите MusicBee после изменений в брандмауэре. |
| Источник (Подкасты, Радио, Входящие…) отсутствует в дереве | Вероятно, он скрыт. На вкладке Вид отметьте узел и убедитесь, что его флажок Видимый включен. |
| Узел просматривается с неправильной формой | Примените другой путь обнаружения на вкладке Вид — например, Плоские треки для плейлиста, Исполнитель альбома → Альбом → Треки для музыкального фильтра. |
| Устройство видит MusicBee, но не воспроизводит ни один трек | Профиль устройства, вероятно, неверен, или принудительный нативный режим отключен, и транскодирование не удается. Установите флажок принудительный нативный поток в профиле этого устройства и повторите попытку. |
| Аудио воспроизводится как статический шум / белый шум | Попробуйте принудительный little endian для PCM потоков в профиле устройства. Если это не поможет, попробуйте не использовать RAW PCM. |
| Паузы между треками | Истинное бесшовное воспроизведение автоматически работает на устройствах, поддерживающих NextURI. Если вы все еще слышите паузы, устройство либо не поддерживает его, либо его реализация ошибочна — вернитесь к выводу как непрерывный поток (бесшовное воспроизведение гарантировано, но информация о треке и элементы управления следующим/предыдущим перестают работать). |
| Эквалайзер / DSP / ReplayGain "ничего не делает" | Для этого устройства включен принудительный нативный поток — он имеет приоритет. Снимите флажок принудительный нативный поток в профиле устройства. См. Транскодировать или нет. |
| Современное (2020+) устройство игнорирует элементы управления MusicBee | Исправление для устройств, рекламирующих себя как MediaRenderer:2/3, находится в этом форке; оно должно работать. Если нет, захватите отладочный лог и создайте проблему. |
| Плагин загружается, но Configure не открывается | Проверьте ErrorLog.dat MusicBee — плагин, вероятно, вылетел при загрузке. Удаление файла настроек плагина и повторная настройка обычно устраняет это. |
| Языки, отличные от английского | Плагин поставляется с 22 языками и следует языку MusicBee, и эта справка доступна на всех из них. Чтобы использовать другой язык, установите язык на вкладке Общие. |
Насколько это было протестировано
Чтобы вас ничего не удивило, вот честная информация о том, сколько реального использования было у плагина.
Все было протестировано с BubbleUPnP, с foobar2000 в качестве второй ссылки. Все три роли работают там — но BubbleUPnP является единственным аналогом, с которым плагин был проверен, поэтому другие приложения управления, другие плееры и устройства просмотра, помимо этих двух, не тестировались и выиграли бы от тестирования сообществом.
На практике это наиболее важно при воспроизведении на физический стример (роль точки управления). Истинные бесшовные переходы между треками были подтверждены на BubbleUPnP, но реальные стримеры — WiiM, Sonos, Cambridge, Eversolo, Marantz, Denon — каждый обрабатывает передачу между треками немного по-разному, и ни один из них не был протестирован на реальном оборудовании. Если бесшовное воспроизведение ведет себя некорректно на одном из них, отключите NextURI для этого устройства, чтобы оно вернулось к воспроизведению по одному треку за раз.
Другие настройки
Несколько элементов управления не относятся к какой-либо одной функции:
| Элемент управления | Что он делает |
|---|---|
| Справка | Открывает эту страницу справки в вашем веб-браузере на языке MusicBee (с возвратом к английскому, если перевод еще не готов). |
| Прочитать последний запрос, Выполнить запрос, Получить теги для первых 5 | Низкоуровневые инструменты запросов на вкладке Отладка, предназначенные для разработки; игнорируйте их при обычном использовании. |
| Сохранить | Сохраняет изменения. Настройки, которые привязываются при запуске (порт, IP, максимальное количество подключений, рендерер), отображают значок ⚠ Требуется перезапуск, пока вы не перезапустите MusicBee. |
| Отмена | Закрывает диалоговое окно без сохранения. |
Благодарности
- Оригинальный плагин разработан Стивеном Мейаллом. Этот форк переписал просмотр библиотеки и диалог настроек, а также добавил рендерер, но ядро UPnP, HTTP и SSDP, на котором все это основано, по-прежнему в значительной степени является его кодом.
- Закрытый форк UPnP 2025 от BoringName, чья публичная ветка на форуме предоставила каталог ошибок.