mirror of
https://github.com/austinried/subtracks.git
synced 2025-12-27 09:09:29 +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:
parent
15b3100107
commit
ee7658ccf8
46
package-lock.json
generated
46
package-lock.json
generated
@ -27,7 +27,7 @@
|
|||||||
"react-native-safe-area-context": "^3.2.0",
|
"react-native-safe-area-context": "^3.2.0",
|
||||||
"react-native-screens": "^3.4.0",
|
"react-native-screens": "^3.4.0",
|
||||||
"react-native-tab-view": "^2.16.0",
|
"react-native-tab-view": "^2.16.0",
|
||||||
"react-native-track-player": "^1.2.7",
|
"react-native-track-player": "file:../../repos/react-native-track-player",
|
||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
"xmldom": "^0.5.0"
|
"xmldom": "^0.5.0"
|
||||||
},
|
},
|
||||||
@ -49,6 +49,25 @@
|
|||||||
"typescript": "^3.8.3"
|
"typescript": "^3.8.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"../../repos/react-native-track-player": {
|
||||||
|
"version": "2.0.0-rc16",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/react-native": "^0.60.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^1.7.0",
|
||||||
|
"@typescript-eslint/parser": "^1.7.0",
|
||||||
|
"eslint": "^5.16.0",
|
||||||
|
"eslint-config-prettier": "^4.2.0",
|
||||||
|
"eslint-plugin-prettier": "^3.0.1",
|
||||||
|
"prettier": "^1.17.0",
|
||||||
|
"rimraf": "^2.6.2",
|
||||||
|
"typescript": "^3.2.4"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": ">=16.8.6",
|
||||||
|
"react-native": ">=0.60.0-rc.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.12.13",
|
"version": "7.12.13",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
|
||||||
@ -10641,13 +10660,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-native-track-player": {
|
"node_modules/react-native-track-player": {
|
||||||
"version": "1.2.7",
|
"resolved": "../../repos/react-native-track-player",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-track-player/-/react-native-track-player-1.2.7.tgz",
|
"link": true
|
||||||
"integrity": "sha512-U1kA25qm398/kY6BvTojGHt4S1tYuKrJNQpXW+dA+p0B+n4LlPyoidUXfu951YM7aoisg8EmQPsevUFmcXG+cg==",
|
|
||||||
"peerDependencies": {
|
|
||||||
"react": ">=16.8.6",
|
|
||||||
"react-native": ">=0.60.0-rc.2"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/react-native/node_modules/ws": {
|
"node_modules/react-native/node_modules/ws": {
|
||||||
"version": "6.2.2",
|
"version": "6.2.2",
|
||||||
@ -21408,10 +21422,18 @@
|
|||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"react-native-track-player": {
|
"react-native-track-player": {
|
||||||
"version": "1.2.7",
|
"version": "file:../../repos/react-native-track-player",
|
||||||
"resolved": "https://registry.npmjs.org/react-native-track-player/-/react-native-track-player-1.2.7.tgz",
|
"requires": {
|
||||||
"integrity": "sha512-U1kA25qm398/kY6BvTojGHt4S1tYuKrJNQpXW+dA+p0B+n4LlPyoidUXfu951YM7aoisg8EmQPsevUFmcXG+cg==",
|
"@types/react-native": "^0.60.0",
|
||||||
"requires": {}
|
"@typescript-eslint/eslint-plugin": "^1.7.0",
|
||||||
|
"@typescript-eslint/parser": "^1.7.0",
|
||||||
|
"eslint": "^5.16.0",
|
||||||
|
"eslint-config-prettier": "^4.2.0",
|
||||||
|
"eslint-plugin-prettier": "^3.0.1",
|
||||||
|
"prettier": "^1.17.0",
|
||||||
|
"rimraf": "^2.6.2",
|
||||||
|
"typescript": "^3.2.4"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"react-refresh": {
|
"react-refresh": {
|
||||||
"version": "0.4.3",
|
"version": "0.4.3",
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
"react-native-safe-area-context": "^3.2.0",
|
"react-native-safe-area-context": "^3.2.0",
|
||||||
"react-native-screens": "^3.4.0",
|
"react-native-screens": "^3.4.0",
|
||||||
"react-native-tab-view": "^2.16.0",
|
"react-native-tab-view": "^2.16.0",
|
||||||
"react-native-track-player": "^1.2.7",
|
"react-native-track-player": "file:../../repos/react-native-track-player",
|
||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
"xmldom": "^0.5.0"
|
"xmldom": "^0.5.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import { Text, View } from 'react-native';
|
import { Text, View } from 'react-native';
|
||||||
import RNFS from 'react-native-fs';
|
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';
|
import paths from '../paths';
|
||||||
|
|
||||||
async function mkdir(path: string): Promise<void> {
|
async function mkdir(path: string): Promise<void> {
|
||||||
@ -31,17 +31,17 @@ const SplashPage: React.FC<{}> = ({ children }) => {
|
|||||||
await TrackPlayer.setupPlayer();
|
await TrackPlayer.setupPlayer();
|
||||||
TrackPlayer.updateOptions({
|
TrackPlayer.updateOptions({
|
||||||
capabilities: [
|
capabilities: [
|
||||||
TrackPlayer.CAPABILITY_PLAY,
|
Capability.Play,
|
||||||
TrackPlayer.CAPABILITY_PAUSE,
|
Capability.Pause,
|
||||||
TrackPlayer.CAPABILITY_STOP,
|
Capability.Stop,
|
||||||
TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
|
Capability.SkipToNext,
|
||||||
TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
|
Capability.SkipToPrevious,
|
||||||
],
|
],
|
||||||
compactCapabilities: [
|
compactCapabilities: [
|
||||||
TrackPlayer.CAPABILITY_PLAY,
|
Capability.Play,
|
||||||
TrackPlayer.CAPABILITY_PAUSE,
|
Capability.Pause,
|
||||||
TrackPlayer.CAPABILITY_SKIP_TO_PREVIOUS,
|
Capability.SkipToNext,
|
||||||
TrackPlayer.CAPABILITY_SKIP_TO_NEXT,
|
Capability.SkipToPrevious,
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { useState } from "react";
|
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";
|
import { Song } from "../models/music";
|
||||||
|
|
||||||
function mapSongToTrack(song: Song): Track {
|
function mapSongToTrack(song: Song): Track {
|
||||||
@ -14,9 +14,9 @@ function mapSongToTrack(song: Song): Track {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const currentTrackEvents = [
|
const currentTrackEvents = [
|
||||||
TrackPlayerEvents.PLAYBACK_STATE,
|
Event.PlaybackState,
|
||||||
TrackPlayerEvents.PLAYBACK_TRACK_CHANGED,
|
Event.PlaybackTrackChanged,
|
||||||
TrackPlayerEvents.REMOTE_STOP,
|
Event.RemoteStop,
|
||||||
]
|
]
|
||||||
|
|
||||||
export const useCurrentTrackId = () => {
|
export const useCurrentTrackId = () => {
|
||||||
@ -24,18 +24,19 @@ export const useCurrentTrackId = () => {
|
|||||||
|
|
||||||
useTrackPlayerEvents(currentTrackEvents, async (event) => {
|
useTrackPlayerEvents(currentTrackEvents, async (event) => {
|
||||||
switch (event.type) {
|
switch (event.type) {
|
||||||
case TrackPlayerEvents.PLAYBACK_STATE:
|
case Event.PlaybackState:
|
||||||
switch (event.state) {
|
switch (event.state) {
|
||||||
case STATE_NONE:
|
case State.None:
|
||||||
case STATE_STOPPED:
|
case State.Stopped:
|
||||||
setCurrentTrackId(null);
|
setCurrentTrackId(null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TrackPlayerEvents.PLAYBACK_TRACK_CHANGED:
|
case Event.PlaybackTrackChanged:
|
||||||
setCurrentTrackId(await TrackPlayer.getCurrentTrack());
|
const trackIndex = await TrackPlayer.getCurrentTrack()
|
||||||
|
setCurrentTrackId((await TrackPlayer.getTrack(trackIndex)).id);
|
||||||
break;
|
break;
|
||||||
case TrackPlayerEvents.REMOTE_STOP:
|
case Event.RemoteStop:
|
||||||
setCurrentTrackId(null);
|
setCurrentTrackId(null);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -64,9 +65,10 @@ export const useSetQueue = () => {
|
|||||||
await TrackPlayer.add(tracks2);
|
await TrackPlayer.add(tracks2);
|
||||||
await TrackPlayer.play();
|
await TrackPlayer.play();
|
||||||
|
|
||||||
await TrackPlayer.add(tracks1, playId);
|
await TrackPlayer.add(tracks1, 0);
|
||||||
|
|
||||||
const queue = await TrackPlayer.getQueue();
|
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() {
|
module.exports = async function() {
|
||||||
TrackPlayer.addEventListener('remote-play', () => TrackPlayer.play());
|
TrackPlayer.addEventListener(Event.RemotePlay, () => TrackPlayer.play());
|
||||||
TrackPlayer.addEventListener('remote-pause', () => TrackPlayer.pause());
|
TrackPlayer.addEventListener(Event.RemotePause, () => TrackPlayer.pause());
|
||||||
TrackPlayer.addEventListener('remote-stop', () => TrackPlayer.destroy());
|
TrackPlayer.addEventListener(Event.RemoteStop, () => TrackPlayer.destroy());
|
||||||
|
|
||||||
TrackPlayer.addEventListener('remote-duck', (data) => {
|
TrackPlayer.addEventListener(Event.RemoteDuck, (data) => {
|
||||||
if (data.permanent) {
|
if (data.permanent) {
|
||||||
TrackPlayer.stop();
|
TrackPlayer.stop();
|
||||||
return;
|
return;
|
||||||
@ -18,6 +18,6 @@ module.exports = async function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
TrackPlayer.addEventListener('remote-next', () => TrackPlayer.skipToNext().catch(() => {}));
|
TrackPlayer.addEventListener(Event.RemoteNext, () => TrackPlayer.skipToNext().catch(() => {}));
|
||||||
TrackPlayer.addEventListener('remote-previous', () => TrackPlayer.skipToPrevious().catch(() => {}));
|
TrackPlayer.addEventListener(Event.RemotePrevious, () => TrackPlayer.skipToPrevious().catch(() => {}));
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user