java - Android 有关于后台播放音乐的问题
PHPz
PHPz 2017-04-17 17:36:33
0
3
464

最近在做一个音乐播发器,我把播放音乐这个功能写在一个服务里,再和播放的界面进行绑定,注意是BindService而不是StartService。当我播放界面finish()后并且按理说服务也自动销毁了,但是音乐仍在播放,我用的是MediaPlayer类播放的音乐,不知道为什么,求大神告知。

PHPz
PHPz

学习是最好的投资!

모든 응답(3)
PHPzhong

완료되기 전에 unBind를 호출했나요?

伊谢尔伦

이 서비스에 바인딩된 다른 활동이 있는 한 BindService는 삭제되지 않습니다. 모든 활동이 unbound()을 호출할 때까지 기다려야 삭제될 수 있습니다.


서비스 수명주기 다이어그램

실제 경험은 활동의 unBound() 전에 서비스에 메시지를 보내 활동이 바인딩 해제될 것임을 서비스에 알리는 것입니다. 이 블로그 게시물에는 몇 가지 소스 코드와 Android BoundService 프로세스 간 통신에 대한 소개가 있습니다. 🎜>

또한 서비스의 onDestroy에서 Mediaplayer가 release()를 호출하나요?

小葫芦

현재 재생 인터페이스만 바인딩되어 있고 미디어 플레이어는 서비스에 출시되지 않습니다. 하지만 논리적으로 말하면 내 활동이 종료되고 바인딩된 서비스가 파괴되었으므로 해당 서비스의 미디어 플레이어도 파괴되어야 합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿