mirror of
https://github.com/austinried/subtracks.git
synced 2026-02-11 07:12:44 +01:00
upgrade rntp to 2.0.0-rc16
...but it was broken for adding tracks before current so there's a PR open for that now and a local fix installed
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Text, View } from 'react-native';
|
||||
import RNFS from 'react-native-fs';
|
||||
import TrackPlayer, { Track } from 'react-native-track-player';
|
||||
import TrackPlayer, { Capability, Track } from 'react-native-track-player';
|
||||
import paths from '../paths';
|
||||
|
||||
async function mkdir(path: string): Promise<void> {
|
||||
@@ -31,17 +31,17 @@ const SplashPage: React.FC<{}> = ({ children }) => {
|
||||
await TrackPlayer.setupPlayer();
|
||||
TrackPlayer.updateOptions({
|
||||
capabilities: [
|
||||
TrackPlayer.CAPABILITY_PLAY,
|
||||
TrackPlayer.CAPABILITY_PAUSE,
|
||||
TrackPlayer.CAPABILITY_STOP,
|
||||
TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
|
||||
TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
|
||||
Capability.Play,
|
||||
Capability.Pause,
|
||||
Capability.Stop,
|
||||
Capability.SkipToNext,
|
||||
Capability.SkipToPrevious,
|
||||
],
|
||||
compactCapabilities: [
|
||||
TrackPlayer.CAPABILITY_PLAY,
|
||||
TrackPlayer.CAPABILITY_PAUSE,
|
||||
TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
|
||||
TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
|
||||
Capability.Play,
|
||||
Capability.Pause,
|
||||
Capability.SkipToNext,
|
||||
Capability.SkipToPrevious,
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useState } from "react";
|
||||
import TrackPlayer, { STATE_NONE, STATE_STOPPED, Track, TrackPlayerEvents, useTrackPlayerEvents } from "react-native-track-player";
|
||||
import TrackPlayer, { Track, useTrackPlayerEvents, Event, State } from "react-native-track-player";
|
||||
import { Song } from "../models/music";
|
||||
|
||||
function mapSongToTrack(song: Song): Track {
|
||||
@@ -14,9 +14,9 @@ function mapSongToTrack(song: Song): Track {
|
||||
}
|
||||
|
||||
const currentTrackEvents = [
|
||||
TrackPlayerEvents.PLAYBACK_STATE,
|
||||
TrackPlayerEvents.PLAYBACK_TRACK_CHANGED,
|
||||
TrackPlayerEvents.REMOTE_STOP,
|
||||
Event.PlaybackState,
|
||||
Event.PlaybackTrackChanged,
|
||||
Event.RemoteStop,
|
||||
]
|
||||
|
||||
export const useCurrentTrackId = () => {
|
||||
@@ -24,18 +24,19 @@ export const useCurrentTrackId = () => {
|
||||
|
||||
useTrackPlayerEvents(currentTrackEvents, async (event) => {
|
||||
switch (event.type) {
|
||||
case TrackPlayerEvents.PLAYBACK_STATE:
|
||||
case Event.PlaybackState:
|
||||
switch (event.state) {
|
||||
case STATE_NONE:
|
||||
case STATE_STOPPED:
|
||||
case State.None:
|
||||
case State.Stopped:
|
||||
setCurrentTrackId(null);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case TrackPlayerEvents.PLAYBACK_TRACK_CHANGED:
|
||||
setCurrentTrackId(await TrackPlayer.getCurrentTrack());
|
||||
case Event.PlaybackTrackChanged:
|
||||
const trackIndex = await TrackPlayer.getCurrentTrack()
|
||||
setCurrentTrackId((await TrackPlayer.getTrack(trackIndex)).id);
|
||||
break;
|
||||
case TrackPlayerEvents.REMOTE_STOP:
|
||||
case Event.RemoteStop:
|
||||
setCurrentTrackId(null);
|
||||
break;
|
||||
default:
|
||||
@@ -64,9 +65,10 @@ export const useSetQueue = () => {
|
||||
await TrackPlayer.add(tracks2);
|
||||
await TrackPlayer.play();
|
||||
|
||||
await TrackPlayer.add(tracks1, playId);
|
||||
await TrackPlayer.add(tracks1, 0);
|
||||
|
||||
const queue = await TrackPlayer.getQueue();
|
||||
console.log(`queue: ${JSON.stringify(queue.map(x => x.title))}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import TrackPlayer from 'react-native-track-player';
|
||||
import TrackPlayer, { Event } from 'react-native-track-player';
|
||||
|
||||
module.exports = async function() {
|
||||
TrackPlayer.addEventListener('remote-play', () => TrackPlayer.play());
|
||||
TrackPlayer.addEventListener('remote-pause', () => TrackPlayer.pause());
|
||||
TrackPlayer.addEventListener('remote-stop', () => TrackPlayer.destroy());
|
||||
TrackPlayer.addEventListener(Event.RemotePlay, () => TrackPlayer.play());
|
||||
TrackPlayer.addEventListener(Event.RemotePause, () => TrackPlayer.pause());
|
||||
TrackPlayer.addEventListener(Event.RemoteStop, () => TrackPlayer.destroy());
|
||||
|
||||
TrackPlayer.addEventListener('remote-duck', (data) => {
|
||||
TrackPlayer.addEventListener(Event.RemoteDuck, (data) => {
|
||||
if (data.permanent) {
|
||||
TrackPlayer.stop();
|
||||
return;
|
||||
@@ -18,6 +18,6 @@ module.exports = async function() {
|
||||
}
|
||||
});
|
||||
|
||||
TrackPlayer.addEventListener('remote-next', () => TrackPlayer.skipToNext().catch(() => {}));
|
||||
TrackPlayer.addEventListener('remote-previous', () => TrackPlayer.skipToPrevious().catch(() => {}));
|
||||
TrackPlayer.addEventListener(Event.RemoteNext, () => TrackPlayer.skipToNext().catch(() => {}));
|
||||
TrackPlayer.addEventListener(Event.RemotePrevious, () => TrackPlayer.skipToPrevious().catch(() => {}));
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user