在使用AVPlayer
进行Airplaying时,是否有人知道如何显示“此视频正在播放...”屏幕?来自VEVO iPhone应用程序的示例:
默认情况下,AVPlayer
只显示黑屏。我是否必须自己实现这样的屏幕,或者是否可以使用默认组件?
答案 0 :(得分:1)
似乎这个答案可能会指向正确的方向:https://stackoverflow.com/a/17231895/171933
希望它有所帮助!
答案 1 :(得分: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完成。
希望这有帮助
答案 2 :(得分:0)
使用MPMoviePlayerController时默认显示该图像。由于AVPlayer没有UI,因此如果不使用MPMoviePlayerController,该图像也不可用。
另外,我不认为图像可以作为MPMoviePlayerController之外的组件使用。