https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontroller
"An object used to play audio media items from the device's Music app library."
기기의 뮤직 앱 라이브러리로부터 오디오 미디어 아이템을 재생하기 위해 사용되는 객체입니다.
class MPMusicPlayerController : NSObject
앱에서 미디어 아이템 재생을 위해 뮤직 플레이어의 인스턴스를 생성하시기 바랍니다. 뮤직 플레이어는 두 가지 타입이 있습니다.
applicationMusicPlayer
와 applicationQueuePlayer
입니다. 애플리케이션 큐 플레이어는 큐의 컨텐츠 전반에서 더 좋은 컨트롤을 제공하며, 선호되는 플레이어입니다.MPMusicPlayerController
의 새 인스턴스 생성 및 플레이어 타입을 구체화하지 않는 것은 시스템 뮤직 플레이어를 반환합니다.
Important
앱의 메인 스레드에서만 뮤직 플레이어를 사용해야 합니다.
내장된 뮤직 및 비디오 앱은 홈 공유를 사용해서 공유된 라이브러리로부터 미디어를 재생할 수 있습니다. 그러나 미디어 플레이어 프레임워크를 사용하는 써드파티 앱은 여전히 기기 뮤직 라이브러리에만 접근할 수 있습니다. 이는 앱이 UI에서 홈 공유 노래의 제목을 표시할 수 없음을 의미합니다. 구체적으로 뮤직 앱은 홈 공유 노래를 재생하는 경우 뮤직 플레이어가 갖는 nowPlayingItem
속성의 값은 nil
입니다. 그러나 공유된 미디어가 재생되는 경우 다른 재생 정보는 사용 가능합니다. 예를 들어 시스템 뮤직 플레이어가 공유된 아이템을 재생할 때 시스템은 playbackState
속성의 값을 업데이트합니다.
사용자는 외부 헤드셋 혹은 액세서리를 통해서 오디오 재생 커맨드를 시작할 수 있습니다. 이러한 커맨드는 원격 컨트롤 이벤트로써 앱에 전달됩니다. 앱에서 리모트 컨트롤 이벤트를 받으려면 애플리케이션 뮤직 플레이어를 사용해야 합니다. 시스템 뮤직 플레이어를 사용하는 경우 앱은 뮤직 앱이 "현재 재생중" 앱을 의미하는 오디오 재생을 위한 뮤직 앱을 사용합니다. 그러나 뮤직 앱은 원격 컨트롤 이벤트에 응답할 수 있습니다. 예를 들어 앱이 시스템 뮤직 플레이어를 사용해서 오디오를 재생하는 경우, 그리고 iOS 기기의 현재 재생중 컨트롤로 앱을 전환하는 경우 컨트롤은 기대한 것처럼 작동합니다. 즉 오디오를 재생하거나 일시정지할 수 있고, 다음 아이템과 이전 아이템으로 건너뛸 수 있습니다.
사용자의 미디어 라이브러리로부터 오디오를 재생하기 위해 앱 내부에 미디어 플레이어를 생성합니다.
https://developer.apple.com/documentation/mediaplayer/playing_audio_using_the_built-in_music_player
https://velog.io/@panther222128/Playing-Audio-Using-the-Built-In-Music-Player