2017-02-19 4 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 

をこのERROとクラッシュしますr:

特定の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

関連する問題