2013-04-21 133 views
2

有没有人知道在用AVPlayer进行飞行播放时如何显示“此视频正在播放...”屏幕?从VEVO iPhone应用程序,例如:使用AVPlayer进行Airplaying时,如何显示“此视频正在播放...”?

VEVO app airplaying a video to Apple TV

默认情况下,AVPlayer只显示黑屏。我是否必须自己实现这样的屏幕,或者是否可以使用此屏幕?

+0

伟大的问题:你有没有解决这个问题? – 2013-08-29 20:40:10

+0

不,我从来没有。仍在等待答案。 – 2013-08-30 10:59:30

回答

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完成此操作。

希望使用的MPMoviePlayerController时,这有助于

0

显示这种形象在默认情况下。由于AVPlayer没有UI,如果不使用MPMoviePlayerController,该图像也不可用。

此外,我不认为该图像作为MPMoviePlayerController之外的组件提供。

相关问题