ローカルビデオファイルとHTTPストリームを再生できるプレーヤーを作成したいのですが、プレーヤーには、UIコントロールのカスタマイズ、ビデオ画面の上に手動でレンダリングされる字幕、プレーヤーの上に透明な背景表示を持つカスタムコンテンツが必要です。
そのようなプレーヤー、MPMoviePlayerController、またはAV Foundationを実装するためのより簡単なアプローチは何でしょうか?
ローカルビデオファイルとHTTPストリームを再生できるプレーヤーを作成したいのですが、プレーヤーには、UIコントロールのカスタマイズ、ビデオ画面の上に手動でレンダリングされる字幕、プレーヤーの上に透明な背景表示を持つカスタムコンテンツが必要です。
そのようなプレーヤー、MPMoviePlayerController、またはAV Foundationを実装するためのより簡単なアプローチは何でしょうか?
字幕を表示する必要があるため、使用する方が良いですがAVPlayer
、残念ながら、この機能はMPMoviePlayer再生クラスにはありません。これは明らかにかなり厄介なので、Appleに機能リクエストを提出することを検討する必要があります。AVPlayer
代わりにクラスを使用できます。これは.closedCaptionDisplayEnabled
プロパティとして使用できます。欠点は、使用がやや複雑で、iOS4.0以降でのみ使用できることです。
MPMoviePlayerControllerを使用します。少し高いレベルなので、実装にかかる作業が少なくて済みます。
MPMoviePlayerControllerは、ビデオを表示するUIViewを提供し、このビューに好きなコンテンツを追加できます。ドキュメントによると:
You can add subviews to the view in this property. You might do this
in cases where you want to display custom playback controls or add
other custom content that is relevant to your app.
必要に応じて、MPMoviePlayerViewControllerを使用してビューを表示したり、既存のビューの1つにビューを追加したりすることもできます。
コントロールが表示されますが、この機能を簡単にオフにして、代わりに独自のカスタムコントロールを表示できます。AVPlayerにはユーザーコントロールがないため、これを行う必要があります。
@MilKyWaYが「字幕を表示する必要があるので、AVPlayerを使用する方が良いですが、残念ながら、この機能はMPMoviePlayer再生クラスにありません」とはどういう意味かわかりません。これが、MPMoviePlayerControllerのviewプロパティの目的です。AVPlayerは、カスタムラベルを表示するための優れた機能を提供していませんが、それを使用することもできます。