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:
austinried 2021-07-01 10:21:01 +09:00
parent 15b3100107
commit ee7658ccf8
5 changed files with 65 additions and 41 deletions

46
package-lock.json generated
View File

@ -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",

View File

@ -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"
}, },

View File

@ -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,
], ],
}); });

View File

@ -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))}`);
} }
} }
} }

View File

@ -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(() => {}));
}; };