IOS에서 사용자의 itunes에 있는 노래를 재생 하는 방법을 찾던 도중 MediaPlayer의 MPMusicPlayerController를 이용하는 방법을 알아냈다. 사용 방법은 다음과 같다.
1. MediaPlayer 라이브러리 추가
MediaPlayer 프레임 워크를 추가한다.
소스에 #import <MediaPlayer/MediaPlayer.h> 를 추가한다.
2. MPMusicPlayerController 사용
MPMusicPlayerController *mp;
//player 선언
mp = [MPMusicPlayerController applicationMusicPlayer];
//사용자의 노래 가져옴
MPMediaQuery *allAlbum = [MPMediaQuery songsQuery];
NSArray *playlists = allAlbum.collections;
// index 번째 노래
MPMediaPlaylist *play = playlists[index];
[mp setQueueWithItemCollection:play];
//몇초부터 시작할지 정하는 부분 (20초뒤 부터)
[mp setCurrentPlaybackTime:20.0];
//재생
[mp play];
//중지
[mp stop];
3. 재생 music의 정보 가져오기
//현재 play 하고있는 item을 가져옴
MPMediaItemArtwork *playingArtwork = [[self.mp nowPlayingItem] valueForProperty:MPMediaItemPropertyArtwork];
//제목, Artist, 앨범 이미지를 가져옴
NSString * musicTitle =[[self.mp nowPlayingItem] title];
NSString * musicArtist = [[self.mp nowPlayingItem] artist];
UIImage * artworkImage;
artworkImage = [playingArtwork imageWithSize:self.uiAlbumView.bounds.size];
이미지를 보여주는데 어떻게 보여줄지 몰라서 조금해멨었지만 그렇게 어려운 코드는 아니었다.
라이브러리를 사용하여 구현을 하니 그렇게 어렵지 않았다. 간단간단한 코드에 여러 기능도 많이있어 편했다
그리고 여러 다른 기능은 apple developer사이트에 기재되어있다.
다만 영어라 나는 조금 헤맸다ㅠㅜ
https://developer.apple.com/reference/mediaplayer/mpmusicplayercontroller
아무튼 오늘은 끝
'IOS&Mac' 카테고리의 다른 글
[Swift] Launch Screen 로딩화면 만들기 (2) | 2020.06.21 |
---|---|
SearchBar 와 TableView 만들기 (0) | 2018.03.07 |
KEXT Programming , KEXT 실행 (0) | 2017.02.15 |
AVAudioPlayer를 이용하여 IOS에서 음악재생, 음악정보 가져오기 (0) | 2017.01.20 |
mac에서 안드로이드 사용하기 (0) | 2017.01.20 |
댓글