export async function play(): Promise<void> {
await ensureValidToken();
try {
await retryApiCall(async () => {
await spotifyAxios.put(
`${API_BASE_URL}/me/player/play`,
{},
{
headers: {
Authorization: `Bearer ${getAccessToken()}`,
},
},
);
});
} catch (error: unknown) {
const err = error as Error & AxiosErrorResponse;
// Ignore 403/404 errors which usually mean no active device
if (
err.response &&
(err.response.status === 403 || err.response.status === 404)
) {
return;
}
saveLog(`Failed to resume playback: ${err.message}`, "ERROR");
throw new Error(`Failed to resume playback: ${err.message}`);
}
}
Resumes the user's playback