我正在使用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/

10-10 01:40