ApplicationMusicPlayer을 이용한다.
애플공식문서
prepareToPlay()
함수는 기본적으로 play()
함수 실행 시 자동실행되지만, 빠른 로드를 위해서는 앞에 작성해주는것이 좋다고 문서에 나와있다.
일단 간단하게 play,pause,forward,backward 메소드를 추가했다.
여기서 필요한 파일이 MPMediaItem이기 때문에, 기존의 Music 클래스의 file: MPMediaItem?
이라는 멤버변수를 추가해주었다.
이런 오류가 뜨면서 실행이 안된다.
print로 nowPlaying의 값을 출력하니 nil로 나왔다.
찾아보니 setQueue를 통해 queue설정을 한 뒤, 거기서 nowPlaying을 정해주어야 제대로 작동하는듯 했다.
선택한 노래를 기준으로 재생이 된다!
이제 앱에서 남은 건 재생, 멈춤 버튼, 다음 이전 곡 버튼의 기능을 추가하는 것이다.
이후 현재 재생 상태가 일치한지 확인하여 버튼 모양 동기화하기, 컬러피커뷰를 추가하여 액센트 컬러 정하기 등의 자잘한 기능 추가가 남아있다.