Module @tidal-music/player - v0.5.4

TIDAL Player

npm install @tidal-music/player (or similar for other package managers)

Then see the docs or the examples elsewhere in this repository.

The src/ folder contains the source code. Structured under api/ is the outside facing API. The player/ folder contains the underlying players and their integration into TIDAL player. The internal/ folder the business logic that the outside facing API end up calling.

The dist/ folder contains the latest built version of the code in src/.

Building is done with Vite.

pnpm build to build the package to dist/

pnpm test. You need a .env file containing TEST_USER="base64string" before running. base64string is base 64 encoded stringified JS object containing oAuthAccessToken, oAuthRefreshToken, oAuthExpirationDate and clientId.

To load TIDAL Player into a project locally without publishing to npm; using pnpm link, yarn link or npm link can be problematic, especially if your project does not also use pnpm like this repo does. If so, you need to manually configure a "hard link" using the file: protocol in package.json of the destination project like so:

  1. Open the package.json in the project. (in the case of webclient, the root one)
  2. Add or edit a "resolutions" property on the top level. (this is an object)
  3. Add an entry for @tidal-music/player like so: "@tidal-music/player": "file:/Users/<your-username>/dev/tidal-sdk-web/packages/player"
  4. Run npm/yarn/pnpm install in your destination project.

!! Remove the entry in "resolution" and run npm/yarn/pnpm install again when you are done testing to have the NPM version of the package load instead.

Run the patch-shaka script to get TS working for shaka-player.

Classes

OutputDevice

Type Aliases

ActiveDeviceModeChanged
ActiveDevicePassThroughChanged
AssetPresentation
AudioMode
AudioQuality
Codec
DeviceChange
DeviceMode
EndedEvent
Error
ErrorCodes
LoudnessNormalizationMode
MediaProduct
MediaProductTransition
PlaybackContext
PlaybackState
PlaybackStateChange
StreamingPrivilegesRevokedEvent
StreamType
VideoQuality

Variables

events

Functions

bootstrap
getAssetPosition
getLoudnessNormalizationMode
getMediaElement
getMediaProduct
getNextMediaProduct
getOutputDevices
getPlaybackContext
getPlaybackState
getPlayerVersion
getStreamingWifiAudioQuality
getVolumeLevel
load
pause
play
reset
seek
setApiUrl
setAppVersion
setClientPlatform
setCredentialsProvider
setEventUrl
setLoudnessNormalizationMode
setNext
setOutputDevice
setOutputDeviceMode
setStreamingWifiAudioQuality
setVolumeLevel
startNativePlayer