프로젝트 소개
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를 사용하여 종속성을 설치하고 빌드합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.