Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
_onPlayPause = async () => {
const state = this.props.playerState;
if (state === STATE_PLAYING) {
await TrackPlayer.pause();
} else if (state === STATE_PAUSED) {
const position = Math.round(await TrackPlayer.getPosition());
const duration = Math.round(await TrackPlayer.getDuration());
if (position === duration) {
// It's finished
this._playNewTrack();
} else {
await TrackPlayer.play();
}
} else {
this._playNewTrack();
}
};
if (data.state == TrackPlayer.STATE_BUFFERING) {
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);
}
}
};
async pause () {
return TrackPlayer.pause()
}
@action
async pauseTrack() {
await 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();
}
};
TrackPlayer.addEventListener("remote-pause", () => {
TrackPlayer.pause();
});
const togglePlayback = async () => {
const currentTrack = await TrackPlayer.getCurrentTrack();
if(currentTrack){
if (playbackState === TrackPlayer.STATE_PAUSED) {
await TrackPlayer.play();
} else {
await TrackPlayer.pause();
}
}
};
TrackPlayer.addEventListener('remote-pause', () => {
TrackPlayer.pause()
});