2

AVPlayerで avを使用して、iOS の AirPlay で字幕を表示する方法はありますAVPlayerItemか? 現在、ビュー階層にラベルを追加して字幕を実装していますが、これはアプリでは正常に機能しますが、明らかに AirPlay では機能しません。

では、を使用して AirPlay で字幕を表示する方法はありますAVFoundationか?

4

2 に答える 2

1

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 に送信する必要があります。

于 2012-10-17T21:54:11.163 に答える
0

すでにお気づきかもしれませんが、Apple TV で放送するときにクローズド キャプションが表示されないのは、おそらく AppleTV でクローズド キャプションがオフになっているためです。

于 2013-08-07T16:15:26.973 に答える