2017-02-19 10 views
0

MPMediaplayer는 음악 작업에 적합하지만 Podcast 작업을 시작할 때 상황이 다릅니다. 1) 이름 팟 캐스트 제목 ("이 아메리칸 라이프 ') 2) 에피소드 제목 ("나의 휴일')MPMediaPlayer 및 Podcast가있는 MPMediaItemPropertyTitle은 치명적인 오류를 발생합니다.

이 줄의 코드가 잘 작동 :

나는 두 가지를 얻으려고

let podTitle:String = (myMP.nowPlayingItem?.podcastTitle)! 

그러나이 선이 에피소드 제목 얻어야한다 : 팟 캐스트 제목 얻을 수

let episode:String = myMP.nowPlayingItem?.value(forProperty: "MPMediaItemPropertyTitle") as! String 

을하지만,이 에로와 충돌이 발생 r :

fatal error: unexpectedly found nil while unwrapping an Optional value

주어진 Podcast에 대한 에피소드 타이틀을 얻으려면 어떻게해야합니까?

답변

0

MPMediaItemPropertyTitle은 문자열 속성 키가 아닙니다. 이 등록 정보 키인 상수의 이름입니다. 그래서, 당신은

let episode:String = 
    myMP.nowPlayingItem?.value(forProperty: "MPMediaItemPropertyTitle") as! String 

... 따옴표 제거가 여기서

let episode:String = 
    myMP.nowPlayingItem?.value(forProperty: MPMediaItemPropertyTitle) as! String 

내가 무슨 일을하는 것은 적어도 이런 식으로 (당신이 충돌을 요구하고) 여전히 매우 어리석은 일이지만, 생각 당신은 성공의 기회를 기다립니다. 내가 무엇을하는 것이 더 같이 실제로 : 당신은 항상 문제, 그리고 당신이 충돌하지 않을 경우 비어있을 수있는 문자열로 끝날

let temp = myMP.nowPlayingItem?.value(forProperty: MPMediaItemPropertyTitle) 
let episode = temp as? String ?? "" 

그런 식으로.

+0

정말 따옴표로 - ObjC에서 필요하다고 확신하므로 Swift에서 사용해야한다고 생각했습니다. 감사! – wayneh

+0

"ObjC에서 필요하지 않습니다." 이것은 여러분이 사용하는 언어가 아닌 MediaPlayer 프레임 워크에 관한 것입니다. – matt