AVPlayer
で avを使用して、iOS の AirPlay で字幕を表示する方法はありますAVPlayerItem
か? 現在、ビュー階層にラベルを追加して字幕を実装していますが、これはアプリでは正常に機能しますが、明らかに AirPlay では機能しません。
では、を使用して AirPlay で字幕を表示する方法はありますAVFoundation
か?
AVPlayer
で avを使用して、iOS の AirPlay で字幕を表示する方法はありますAVPlayerItem
か? 現在、ビュー階層にラベルを追加して字幕を実装していますが、これはアプリでは正常に機能しますが、明らかに AirPlay では機能しません。
では、を使用して AirPlay で字幕を表示する方法はありますAVFoundation
か?
CC のビューを作成し、ビデオの上に追加することで、独自の CC を既に実装しているとのことでした。AirPlay ミラーリングがより使いやすくなります。これを行うには、外部スクリーンを検出し、コンテンツをそこに配置します。
// detecting an external screen
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myExternalScreenDetected:) name:UIScreenDidConnectNotification object:nil];
//
// Grab external screen then add the content
- (void)myExternalScreenDetected:(UIScreen *)externalScreen {
UIWindow *window = [[UIWindow alloc] initWithFrame:externalScreen.bounds];
// ...add content to the window...
window.screen = externalScreen;
window.hidden = NO;
}
もう 1 つのオプションは、ネイティブのクローズド キャプションを使用することです。これは、m3u8 プレイリストに言語ファイル (WebVTT 形式) を追加することで実行できます。私はこれを試していません。もっと複雑に思えます。ここで Apple のビデオを見ることができます: https://developer.apple.com/videos/wwdc/2012/?id=512
ミラーリング機能は、ネイティブの方法よりも CC を実装する方が簡単なようです。ただし、AppleTV がプレイリスト ファイル (m3u8) をロードしてコンテンツを直接再生するため、ネイティブ ビデオのエアプレイのパフォーマンスが向上します。ミラーリング AirPlay は、出力を再圧縮して AppleTV に送信する必要があります。
すでにお気づきかもしれませんが、Apple TV で放送するときにクローズド キャプションが表示されないのは、おそらく AppleTV でクローズド キャプションがオフになっているためです。