Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async loadAndPlayTrack(track) {
let newTrack = {id: track.trackAddress, url: track.trackUrl, title: track.title, artist: track.artistName, artwork: track.trackImg};
try {
TrackPlayer.reset().then(function() {
TrackPlayer.add(newTrack, null).then(function() {
TrackPlayer.play().then(() => {
updateOptions();
});
});
});
} catch (e) {
console.log('audio failed to play');
console.log(e);
this.showAlert('', 'Hmm, we couldn’t play this track. Please try again in a moment.');
}
};
_playPodcast = async (audio_link, img_url, title) => {
TrackPlayer.reset();
await TrackPlayer.add({
id: audio_link,
url: audio_link,
title: title,
artist: "Thinkerview",
album: "Interview",
artwork: img_url
});
await TrackPlayer.play();
let info = {
title: title,
url: audio_link,
artwork: img_url
};
this.props.updateTrackInfo(info);
this.props.navigation.navigate("Podcast");
_playNewTrack = async () => {
const { track } = this.props;
await TrackPlayer.reset();
await TrackPlayer.add(getTrackStructure(track));
await TrackPlayer.play();
};
terminate(){
TrackPlayer.reset()
}
playAction(){
async function togglePlayback() {
const currentTrack = await TrackPlayer.getCurrentTrack();
if (currentTrack == null) {
await TrackPlayer.reset();
await TrackPlayer.add(playlistData);
await TrackPlayer.add({
id: "local-track",
url: localTrack,
title: "Pure (Demo)",
artist: "David Chavez",
artwork: "https://picsum.photos/200"
});
await TrackPlayer.play();
} else {
if (playbackState === TrackPlayer.STATE_PAUSED) {
await TrackPlayer.play();
} else {
await TrackPlayer.pause();
}
}
return async (dispatch, getState) => {
const { id, items } = getState().Playlist
if (playlistId !== id) {
await TrackPlayer.reset()
dispatch(playerReset())
const addList = items
.find(item => item.id === playlistId)
.list.filter(item => item.exists)
.map(({ title, artwork, videoId, source }) => ({
title,
artwork,
id: videoId,
url: source,
artist: 'Minan'
}))
await TrackPlayer.add(addList)
clearList() {
this.list = []
TrackPlayer.reset()
}
@action
_updateTrackPlayerQueueItem = (tracks, track, newProperties, callback) => {
const currentItemIndex = utils.getIndexOfTrackUsingId(tracks, track.id);
track = {
...track,
...newProperties,
};
globals.shouldUIRespondToEvents = false;
if (track.id === trackCurrent.id) {
mutableTracks = [...tracks];
mutableTracks[currentItemIndex] = track;
TrackPlayer.reset();
TrackPlayer.add(mutableTracks).then(() => {
TrackPlayer.skip(track.id).then(() => {
callback();
globals.shouldUIRespondToEvents = true;
});
});
} else {
insertBeforeId = null;
if (currentItemIndex + 1 < tracks.length) insertBeforeId = tracks[currentItemIndex + 1].id;
TrackPlayer.remove(track.id)
.then(() => {
TrackPlayer.add(track, insertBeforeId).then(() => {
callback();
globals.shouldUIRespondToEvents = true;