我正在使用react-native-sound模块,但是当我开始播放声音并按下主页按钮退出应用程序时,声音会继续播放.
当我重新加载应用程序时,它会再次启动声音,我不能在它上面使用.stop()来销毁它,因为它只会破坏加载到第一个上面的第二个.
我该怎么办呢?
class Home extends Component {
constructor(props) {
super(props);
this.props.actions.fetchscores();
}
componentWillReceiveProps(nextProps){
nextProps.music.backgroundMusic.stop()
setInterval( () => {
nextProps.music.backgroundMusic.play()
nextProps.music.backgroundMusic.setNumberOfLoops(-1)
},1000);
}
}
export default connect(store => ({
music: store.music
})
)(Home);
最佳答案
我认为您应该使用AppState在后台停止音乐,并在应用状态再次更改时启用.
componentDidMount: function() {
AppState.addEventListener('change',this._handleAppStateChange);
},componentWillUnmount: function() {
AppState.removeEventListener('change',_handleAppStateChange: function(currentAppState) {
if(currentAppState == "background") {
stop();
}
if(currentAppState == "active") {
resume();
}
},