android+后台播放音乐,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);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Android 后台播放音乐,你需要创建一个 Service 并在其中实现音乐播放逻辑。以下是一个简单的示例: 1. 在 AndroidManifeset.xml 文件中注册 Service: ```xml <service android:name=".MyMusicService" /> ``` 2. 创建一个继承自 Service 的类 MyMusicService,并在其中实现音乐播放逻辑: ```java public class MyMusicService extends Service implements MediaPlayer.OnPreparedListener { private MediaPlayer mediaPlayer; @Override public int onStartCommand(Intent intent, int flags, int startId) { // 初始化 MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.setOnPreparedListener(this); // 设置要播放音乐文件路径 String filePath = "/sdcard/music.mp3"; try { mediaPlayer.setDataSource(filePath); } catch (IOException e) { e.printStackTrace(); } // 异步准备 MediaPlayer mediaPlayer.prepareAsync(); // 返回 START_STICKY,表示 Service 被杀死后会自动重启 return START_STICKY; } @Override public void onDestroy() { // 释放 MediaPlayer 资源 mediaPlayer.release(); mediaPlayer = null; } @Override public void onPrepared(MediaPlayer mp) { // 准备完成后开始播放 mediaPlayer.start(); } @Nullable @Override public IBinder onBind(Intent intent) { return null; } } ``` 3. 在你的 Activity 中启动 Service: ```java Intent intent = new Intent(this, MyMusicService.class); startService(intent); ``` 这样就可以在 Android 后台播放音乐了。当 Service 被杀死时,系统会自动重启它,以确保音乐可以持续播放
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值