ios - AVPlayer播放时如何显示 "This video is playing on ..."?

标签 ios avplayer

有人知道如何在使用 AVPlayer 播放时显示“此视频正在...播放”屏幕吗?来自 VEVO iPhone 应用程序的示例:

VEVO app airplaying a video to Apple TV

默认情况下,AVPlayer 只显示黑屏。我必须自己实现这样的屏幕还是为此提供默认组件?

最佳答案

可能这有点晚了,但我想出了或者至少是一个解决方法。我添加了一个 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 完成。

希望对你有帮助

关于ios - AVPlayer播放时如何显示 "This video is playing on ..."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130936/

相关文章:

ios - MPMoviePlayerController 在启动前显示空白屏幕?

ios - 当我在 CollectionView 中向下滚动时图片消失

ios - Objective C - 如何测试私有(private)变量

swift - AVPlayer识别播放结束

UiView 中的 IOS swift avplayer 我怎样才能让它工作

ios - 如何从给定的 NSHTTPURLResponse 获取 HTTP 协议(protocol)版本?

ios - 如何将 UILabel 与 UIViewController 的角对齐

ios - 我如何继承 AVPlayer?

objective-c - 使用 AVPlayer 播放加密视频

ios - AVPlayer 有时不加载视频