2012-03-28 8 views
0

iPadからApplesのムービーアプリにiTunesで既に同期されたムービーを再生する必要があります。MPMediaItem(iPad/IOS5)からムービーを再生する

私はMPMoviePlayerControllerを使ってバンドルからムービーを再生できます。私はすべてのムービーのメディアアイテム(MPMediaItemのNSArrayはMPMediaQueryを使用しています)を取得できます。ただし、MPMoviePlayerControllerは、MPMediaItemではなくNSURLを受け入れます。

私は映画のMPMediaItemを持っているので、映画を再生するにはどうすればいいですか?これを行うMPMoviePlayerController以外のオブジェクトがありますか?いくつかの記事は、メディアアイテムを「取得する」方法を説明しますが、アイテムを「設定する」方法は説明しません。

ご協力いただきまして誠にありがとうございます。

答えて

2

MPMediaItemには、valueForProperty:でアクセスできるURLがあります。

あなたはそれをMPMoviePlayerControllerで再生するために使用できるかどうかわかりません。理論的にはうまくいくはずです。

NSURL *url = [mediaItem valueForProperty:MPMediaItemPropertyAssetURL]; 

編集:それはそれを使用することはできませんように見えます。

MPMediaItemPropertyAssetURL
AVAssetオブジェクト(または他のURLベースのAVファウンデーション・オブジェクト)が所望のように、任意のオプションで、作成することができ、そこからメディアアイテムを指すURL、。値はNSURLオブジェクトです。
URLには、ipod-libraryのカスタムスキームがあります。たとえば、URLは次のようになります。 ipod-library://item/item.m4a?id = 12345
AV Foundationフレームワーク以外のURLの使用はサポートされていません。

から:General Media Item Property Keys

+0

おかげで、これを働いている! '[mediaItem valueForProperty:MPMediaItemPropertyAssetURL]'を見つけるまでには長い時間がかかりましたが、直感的ではありません。 –

2

は、私は、これは動作するはずだと思う。この

NSURL *url = [mediaItem valueForProperty:MPMediaItemPropertyAssetURL]; 

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: url]; 
[player prepareToPlay]; 
[player.view setFrame: myView.bounds]; // player's frame must match parent's 
[myView addSubview: player.view]; 
[player play]; 

を試してみてください。..

方法valueForPropertyありMPMediaItemがMPMediaEntityから継承され

+0

ありがとうございます、あなたと下のマティアスが解決策を出しました –

関連する問題