android – 如何阻止音乐在后台播放? (反应天然声)

我正在使用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();
  }
},

相关文章

以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存...
转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144 用EventLog.writeEvent打的日志(或...
事件分发机制详解 一、基础知识介绍 1、经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION...
又是好久没有写博客了,一直都比较忙,最近终于有时间沉淀和整理一下最近学到和解决的一些问题。 最近进...
Android性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向...
android的开源库是用来在android上显示gif图片的。我在网上查了一下,大家说这个框架写的不错,加载大的...