Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function playerHandler(dispatch: DispatchType, data: Data) {
switch (data.type) {
// Forward remote events to the player
case 'remote-play':
TrackPlayer.play();
break;
case 'remote-pause':
TrackPlayer.pause();
break;
case 'remote-stop':
TrackPlayer.stop();
break;
case 'remote-next':
TrackPlayer.skipToNext();
break;
case 'remote-previous':
TrackPlayer.skipToPrevious();
break;
case 'remote-seek':
TrackPlayer.seekTo(data.position);
break;
// You can make ducking smoother by adding a fade in/out
case 'remote-duck':
TrackPlayer.setVolume(data.ducking ? 0.5 : 1);
break;
// Playback updates
case 'playback-state': {
async removeTrack(id) {
if (!id) {
return
}
if (id === this.trackId) {
await TrackPlayer.stop()
}
// WIP[remove will auto play on iOS]
if (Platform.OS === 'android') {
await TrackPlayer.remove(id)
}
this.list = this.list.filter((item) => item.id !== id)
}
@action
onPlaybackError(data) {
console.log(data);
console.log(this.props.currentTrack.trackUrl);
console.log(this.state.retries);
if (this.state.retries < 3) {
this.playNextTrack(true);
}else{
TrackPlayer.stop();
}
this.setState({retries: this.state.retries + 1});
this.showAlert('', 'Hmm, we couldn’t play this track. Please try again in a moment.');
}
console.log('STATE_BUFFERING');
_fetchURLs(false, 1, 1, () => {}, () => {});
}
} else if (data.type == 'remote-play') {
TrackPlayer.play();
} else if (data.type == 'remote-pause') {
TrackPlayer.pause();
} else if (data.type == 'remote-next') {
TrackPlayer.skipToNext();
} else if (data.type == 'remote-previous') {
TrackPlayer.skipToPrevious();
} else if (data.type == 'remote-seek') {
TrackPlayer.seekTo(data.position);
} else if (data.type == 'remote-duck') {
if (data.paused) TrackPlayer.pause();
if (data.permanent) TrackPlayer.stop();
if (data.ducking) {
const prevVolume = await TrackPlayer.getVolume();
TrackPlayer.setVolume(0.1);
BackgroundTimer.setTimeout(() => {
TrackPlayer.setVolume(prevVolume);
}, 3 * 1000);
}
}
};
TrackPlayer.addEventListener("remote-stop", () => {
TrackPlayer.stop();
});
return async (data) => {
if (data.type == 'playback-state') {
} else if (data.type == 'remote-play') {
this.audioPlayer.playAudio()
} else if (data.type == 'remote-stop') {
TrackPlayer.stop();
} else if (data.type == 'remote-pause') {
this.audioPlayer.pause()
TrackPlayer.pause();
}
};
});
module.exports = async (data) =>{
if(data.type == 'playback-state') {
}else if(data.type == 'remote-play') {
TrackPlayer.play();
} else if(data.type == 'remote-seek') {
TrackPlayer.seekTo(data.position);
}else if (data.type == 'remote-stop') {
TrackPlayer.stop();
}else if (data.type == 'remote-pause') {
TrackPlayer.pause();
}
};
async function Handler(dispatch, data) {
switch (data.type) {
case 'remote-play':
TrackPlayer.play()
break
case 'remote-pause':
TrackPlayer.pause()
break
case 'remote-stop':
TrackPlayer.stop()
break
case 'remote-next':
TrackPlayer.skipToNext()
break
case 'remote-previous':
TrackPlayer.skipToPrevious()
break
case 'remote-seek':
TrackPlayer.seekTo(data.position)
break
case 'remote-duck':
TrackPlayer.setVolume(data.ducking ? 0.5 : 1)
break
case 'playback-state':
dispatch(playbackState(data.state))
break