useEffect(() => {
try {
const voiceover = parseOrGet(item.scenes[selectedIndex].voiceover);
voiceover["title"]="test"
voiceover["artist"]="test"
voiceover["id"]="2"
voiceover["artwork"]="https://url_to_artwork.jpg"
delete voiceover.metadata
delete voiceover.name
delete voiceover.type
console.log(voiceover)
if (voiceover) {
TrackPlayer.add(voiceover);
TrackPlayer.play();
setSelectedTrack(voiceover);
}else{
TrackPlayer.destroy();
}
} catch (error) {
console.log('my initial error', error);
}
}, [selectedIndex]);
here i am adding trackplayer voice over but i can not listen voiceover music it is not workinhg
this is the my voice over object
{"artist": "test", "artwork": "https://url_to_artwork.jpg", "id": 1, "title": "test", "url": "https://d3bm2z03a5d1kp.cloudfront.net/hindi-narration/1.mp3"}
let mw know where i am doing wrong
Try to change from
if (voiceover) {
TrackPlayer.add(voiceover);
TrackPlayer.play();
setSelectedTrack(voiceover);
} else {
TrackPlayer.destroy();
}
to
if (voiceover) {
await TrackPlayer.add(voiceover);
await TrackPlayer.play();
setSelectedTrack(voiceover);
} else {
await TrackPlayer.destroy();
}
And define your function as useEffect(async () => ....)