iOS 음악 선택 - PickerController 실행(Music App. 음악앱 내 음악을 선택할 수 있는 피커 컨트롤러 실행)
1. 뷰 컨트롤러 MPMediaPickerControllerDelegate 상속 추가.
class ViewController: UIViewController, MPMediaPickerControllerDelegate
2. PickerController 실행 코드 삽입.
let controller = MPMediaPickerController(mediaTypes: .music) //Picker Controller 가져오기
controller.allowsPickingMultipleItems = true //MultiSelect 여부
controller.popoverPresentationController?.sourceView = sender //??????
controller.delegate = self //Delegate 세팅
present(controller, animated: true) //Picker Controller 실행.
3. Delegate 함수 재정의 - 선택 완료시
func mediaPicker(_ mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
//item을 선택했을 떄
// Get the system music player.
//
let musicPlayer = MPMusicPlayerController.systemMusicPlayer //Music Player 가져오기
musicPlayer.setQueue(with: mediaItemCollection) //선택한 음악 리스트 세팅.
mediaPicker.dismiss(animated: true) //Picker Controller 닫기
// Begin playback.
musicPlayer.play() //음악 플레이
}
4. Delegate 함수 재정의 - 선택 취소시
func mediaPickerDidCancel(_ mediaPicker: MPMediaPickerController) {
mediaPicker.dismiss(animated: true) //Picker Controller 닫기
}