我正在使用react-native-sound模块,但当我启动一个声音并按Home
按钮退出应用程序时,声音仍在播放。
当我重新加载应用程序时,它会第二次启动声音,我无法使用它上的.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', this._handleAppStateChange);
},
_handleAppStateChange: function(currentAppState) {
if(currentAppState == "background") {
stop();
}
if(currentAppState == "active") {
resume();
}
},
关于android - 如何阻止音乐在后台播放? ( react 天然声),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40962217/