Об этом проекте

Xosms — это кроссплатформенная нативная библиотека медиасервиса, написанная на Rust и доступная для Node.js, предназначенная для интеграции с медиасервисом хост-платформы. Согласно README, она поддерживает Windows, macOS и Linux (через MPRIS). API основано на классе MediaPlayer. Разработчики создают экземпляр с идентификатором и отображаемым именем, затем устанавливают метаданные, такие как название трека, исполнитель, название альбома, громкость, скорость воспроизведения и допустимые минимальная/максимальная скорости воспроизведения. Также предоставляются флаги для кнопок «следующий», «предыдущий», «воспроизведение», «пауза», «стоп» и «перемотка», флаг полноэкранного режима и миниатюра, создаваемая через MediaPlayerThumbnail.create(uri, url). Обработка событий выполняется через колбэки, которые могут быть асинхронными; библиотека ожидает завершения каждого колбэка перед обработкой следующего события медиасервиса. Документированные колбэки охватывают нажатия кнопок, изменения позиции, запросы перемотки, изменения режима повтора, изменения скорости, изменения перемешивания и изменения громкости. Изменения свойств MediaPlayer отображаются только после вызова update(). Плеер регистрируется в платформе с помощью activate(), а ресурсы должны освобождаться с помощью dispose(), чтобы не полагаться на сборщик мусора для нативных платформенных ресурсов. Вспомогательная функция platformSharesMediaPlayers() определяет платформы, такие как macOS, где медиасервис является синглтоном на процесс, в этом случае следует использовать только один экземпляр MediaPlayer. Для локальной разработки проекту требуются Rust и pnpm; после клонирования используются команды pnpm и pnpm build для установки зависимостей и сборки.