Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可能未处理的承诺拒绝(id:0):TypeError:无法读取属性';标题';本机曲目播放器中未定义的_Javascript_Reactjs_React Native_React Native Track Player - Fatal编程技术网

Javascript 可能未处理的承诺拒绝(id:0):TypeError:无法读取属性';标题';本机曲目播放器中未定义的

Javascript 可能未处理的承诺拒绝(id:0):TypeError:无法读取属性';标题';本机曲目播放器中未定义的,javascript,reactjs,react-native,react-native-track-player,Javascript,Reactjs,React Native,React Native Track Player,我创建了流派,每个流派都有一系列的歌曲。我还为每个流派歌曲数组提供了Player.js,但收到警告和类型错误消息:[Sun Apr 04 2021 05:49:58.513]警告可能未处理的承诺拒绝(id:0): TypeError:无法读取未定义的属性“title” TypeError:无法读取未定义的属性“title” 当我尝试更改曲目时,也会出现以下错误: [Sun Apr 04 2021 05:49:58.676]日志跟踪id-1索引3 [Sun Apr 04 2021 05:49:58

我创建了流派,每个流派都有一系列的歌曲。我还为每个流派歌曲数组提供了Player.js,但收到警告和类型错误消息:[Sun Apr 04 2021 05:49:58.513]警告可能未处理的承诺拒绝(id:0): TypeError:无法读取未定义的属性“title” TypeError:无法读取未定义的属性“title”

当我尝试更改曲目时,也会出现以下错误: [Sun Apr 04 2021 05:49:58.676]日志跟踪id-1索引3 [Sun Apr 04 2021 05:49:58.690]警告可能未处理的承诺拒绝(id:1): TypeError:无法读取null的属性“scrollToOffset” TypeError:无法读取null的属性“scrollToOffset”

如何播放每种类型的歌曲。我需要这方面的帮助,两天前我一直在努力解决这个问题。 以下是hipHopPlayerScreen.js:

import React,{useRef,useffect,useState}来自'React';
进口{
看法
安全区域视图,
文本,
形象,,
平面列表,
尺寸,
有生气的
样式表,
可触摸不透明度,
}从“反应本机”;
从'@react-navigation/native'导入{useNavigation};
导入TrackPlayer{
能力,
使用TrackPlayerEvents,
使用playbackstate,
TrackPlayerEvents,
国家队,
事件
}来自“react native track player”;
从“../../components/TracksData/hipHopData”导入hiphopsongs;
从“../../components/Controller”导入控制器;
从“../../components/SliderComp”导入SliderComp;
从“反应本机向量图标/简单化图标”导入简单化图标;
const{width,height}=Dimensions.get('window');
导出默认函数HipHopPlayerScreen(){
const navigation=useNavigation();
const scrollX=useRef(新的动画.Value(0)).current;
常量滑块=useRef(null);
常量isPlayerReady=useRef(false);
const index=useRef(0);
常量[hipHopsongIndex,setHipHopSongIndex]=useState(0);
const isItFromUser=useRef(true);
const position=useRef(动画.divide(scrollX,width)).current;
const playbackState=usePlaybackState();
useffect(()=>{
scrollX.addListener(({value})=>{
const val=数学四舍五入(值/宽度);
setHipHopSongIndex(val);
});
TrackPlayer.setupPlayer()。然后(异步()=>{
console.log('Player ready');
等待TrackPlayer.reset();
等待TrackPlayer。添加(嘻哈歌曲);
TrackPlayer.play();
isPlayerReady.current=true;
等待TrackPlayer.updateOptions({
stopWithApp:false,
总是有人插话:是的,
能力:[
能力,发挥,
能力,暂停,
Capability.SkipToNext,
Capability.SkipToPrevious,
],
});
TrackPlayer.addEventListener(Event.PlaybackTrackChanged,异步(e)=>{
console.log('song end',e);
const trackId=(wait TrackPlayer.getCurrentTrack())-1;
log('track id',trackId',index',index.current);
if(trackId!==index.current){
setHipHopSongIndex(trackId);
isItFromUser.current=false;
if(trackId>index.current){
goNext();
}否则{
goPrv();
}
设置超时(()=>{
isItFromUser.current=true;
}, 200);
}
});
TrackPlayer.addEventListener(Event.RemoteDuck,(e)=>{
如果(如暂停){
TrackPlayer.pause();
}否则{
TrackPlayer.play();
}
});
});
return()=>{
scrollX.removeAllListeners();
TrackPlayer.destroy();
//exitPlayer();
};
}, []);
//索引更改时更改歌曲
useffect(()=>{
if(isPlayerReady.current&&isItFromUser.current){
TrackPlayer.skip(hiphopsongs[hipHopsongIndex].id)
.然后(())=>{
console.log('changed track');
})
.catch((e)=>console.log('error in changing track',e');
}
index.current=hipHopsongIndex;
},[hipHopsongIndex]);
const exitPlayer=async()=>{
试一试{
等待TrackPlayer.stop();
}捕获(错误){
console.error('exitPlayer',error);
}
};
const goNext=async()=>{
slider.current.scrollToOffset({
偏移量:(index.current+1)*宽度,
});
等待TrackPlayer.play();
};
const goPrv=async()=>{
slider.current.scrollToOffset({
偏移量:(index.current-1)*宽度,
});
等待TrackPlayer.play();
};
常量renderItem=({index,item})=>{
返回(
);
};
返回(
项目id}
onScroll={Animated.event(
[{nativeEvent:{contentOffset:{x:scrollX}}}}],
{useNativeDriver:true},
)}
/>
navigation.navigate('Genre')}
>
体裁
{hiphopsongs[hipHopsongIndex].id.title}
{hiphopsongs[hipHopsongIndex].id.artist}
);
}
const styles=StyleSheet.create({
容器:{
为内容辩护:“间隔均匀”,
对齐项目:“居中”,
高度:高度,,
最大高度:600,
背景颜色:“#030303”
},
genreContainer:{
flexDirection:'行',
},
类型:{
尺码:18,
textAlign:'中心',
重量:'600',
textTransform:'大写',
颜色:“#ffffff”,
},
标题:{
尺寸:28,
textAlign:'中心',
重量:'600',
textTransform:'大写',
颜色:“#ffffff”,
},
艺术家:{
尺码:18,
textAlign:'中心',
颜色:“#ffffff”,
textTransform:'大写',
},
});