Files
swingmusic-extended/src/composables/mediaNotification.ts
T
2022-08-27 19:50:43 +03:00

61 lines
1.5 KiB
TypeScript

import { paths } from "../config";
import useQueueStore from "../stores/queue";
export default () => {
if ("mediaSession" in navigator) {
const queue = useQueueStore();
const { currenttrack: track } = queue;
navigator.mediaSession.metadata = new window.MediaMetadata({
title: track.title,
artist: track.artists.join(", "),
artwork: [
{
src: paths.images.thumb + track.image,
sizes: "96x96",
type: "image/jpeg",
},
{
src: paths.images.thumb + track.image,
sizes: "128x128",
type: "image/webp",
},
{
src: paths.images.thumb + track.image,
sizes: "192x192",
type: "image/webp",
},
{
src: paths.images.thumb + track.image,
sizes: "256x256",
type: "image/webp",
},
{
src: paths.images.thumb + track.image,
sizes: "384x384",
type: "image/webp",
},
{
src: paths.images.thumb + track.image,
sizes: "512x512",
type: "image/webp",
},
],
});
navigator.mediaSession.setActionHandler("play", () => {
queue.playPause();
});
navigator.mediaSession.setActionHandler("pause", () => {
queue.playPause();
});
navigator.mediaSession.setActionHandler("previoustrack", () => {
queue.playPrev();
});
navigator.mediaSession.setActionHandler("nexttrack", () => {
queue.playNext();
});
}
};