|
1 | 1 | import { createContext, FC, memo, ReactElement, useCallback, useEffect, useState } from 'react';
|
2 | 2 | import { AudioType, ContextType } from './types/context.type.ts';
|
3 | 3 | import { FileExtensionEnum } from '../../types/files/types.ts';
|
| 4 | +import image from '../../../../public/assets/icons/512.png'; |
4 | 5 |
|
5 | 6 | export const AudioPlayerContext = createContext<ContextType | null>(null);
|
6 | 7 |
|
@@ -45,26 +46,29 @@ export const AudioPlayer: FC<{ children: ReactElement }> = memo(({ children }) =
|
45 | 46 | navigator.mediaSession.metadata = new MediaMetadata({
|
46 | 47 | title,
|
47 | 48 | artist: 'PassimX',
|
48 |
| - artwork: [{ src: '/assets/icons/512.png', sizes: '512x512', type: 'image/png' }], |
| 49 | + artwork: [{ src: image, sizes: '512x512', type: 'image/png' }], |
49 | 50 | });
|
50 | 51 |
|
51 | 52 | navigator.mediaSession.setActionHandler('play', play);
|
52 | 53 | navigator.mediaSession.setActionHandler('pause', pause);
|
53 | 54 |
|
54 | 55 | navigator.mediaSession.setActionHandler('seekto', (details) => {
|
55 | 56 | if (!audioEl) return;
|
56 |
| - |
57 |
| - // если аудио на паузе — включаем, перематываем, потом оставляем на паузе (для ios) |
58 |
| - const wasPaused = audioEl.paused; |
59 |
| - if (wasPaused) { |
60 |
| - const originalVolume = audioEl.volume; |
61 |
| - audioEl.volume = 0; |
62 |
| - audioEl?.play().then(() => { |
63 |
| - audioEl!.currentTime = details.seekTime!; |
64 |
| - if (wasPaused) audioEl!.pause(); |
65 |
| - audioEl!.volume = originalVolume; |
66 |
| - }); |
67 |
| - } else audioEl.currentTime = details.seekTime!; |
| 57 | + const originalVolume = audioEl.volume; |
| 58 | + try { |
| 59 | + // если аудио на паузе — включаем, перематываем, потом оставляем на паузе (для ios) |
| 60 | + const wasPaused = audioEl.paused; |
| 61 | + if (wasPaused) { |
| 62 | + audioEl.volume = 0; |
| 63 | + audioEl?.play().then(() => { |
| 64 | + audioEl!.currentTime = details.seekTime!; |
| 65 | + if (wasPaused) audioEl!.pause(); |
| 66 | + audioEl!.volume = originalVolume; |
| 67 | + }); |
| 68 | + } else audioEl.currentTime = details.seekTime!; |
| 69 | + } catch (e) { |
| 70 | + audioEl!.volume = originalVolume; |
| 71 | + } |
68 | 72 | });
|
69 | 73 |
|
70 | 74 | navigator.mediaSession.setActionHandler('previoustrack', () => {
|
|
0 commit comments