2

でAirplayingしているときに「このビデオは...で再生されています」画面を表示する方法を知っている人はいますAVPlayerか? VEVO iPhone アプリの例:

ビデオを Apple TV に放送する VEVO アプリ

デフォルトでAVPlayerは、黒い画面のみが表示されます。そのような画面を自分で実装する必要がありますか、それともデフォルトのコンポーネントを利用できますか?

4

2 に答える 2

1

これは少し遅いかもしれませんが、私はこれを見つけたか、少なくとも回避策を見つけました。UILabel を追加し、次のような方法で選択したデバイスの名前を取得します。

CFDictionaryRef description;
UInt32 dataSize = sizeof(description);
if (AudioSessionGetProperty(kAudioSessionProperty_AudioRouteDescription, &dataSize, &description) == kAudioSessionNoError)  {
    CFArrayRef outputs = CFDictionaryGetValue(description, kAudioSession_AudioRouteKey_Outputs);
    if (outputs) {
        if(CFArrayGetCount(outputs) > 0) {
            CFDictionaryRef currentOutput = CFArrayGetValueAtIndex(outputs, 0);
            NSLog(@"%@", currentOutput);
            CFStringRef outputType = CFDictionaryGetValue(currentOutput, kAudioSession_AudioRouteKey_Type);
            if (CFStringCompare(outputType, kAudioSessionOutputRoute_AirPlay, 0) == kCFCompareEqualTo) {
                NSDictionary *desc = (__bridge NSDictionary *)(currentOutput);
                NSLog(@"%@", [desc objectForKey:@"RouteDetailedDescription_Name"]);
            }
        }
    }
}

もっと良い方法があるはずですが、これは良いアプローチです。また、AudioSessionGetProperty は非推奨であり、これは AVAudioSession を使用して行うことができます。

お役に立てれば

于 2013-09-24T23:08:53.080 に答える
0

MPMoviePlayerController を使用すると、デフォルトでその画像が表示されます。AVPlayer には UI がないため、MPMoviePlayerController が使用されていない場合、その画像も使用できません。

また、画像が MPMoviePlayerController の外部のコンポーネントとして利用できるとは思いません。

于 2014-12-05T12:00:00.867 に答える