是否有公共API可以检测AirPlay是否可用

时间:2016-06-09 16:42:45

标签: ios airplay

我已经实现了MPVolumeView来显示Airplay选项,但是如果Airplay选项/来源不再可用,我也不知道如何隐藏MPVolumeView。

是否有任何公共API可以检测AirPlay选项/来源是否可用。因此该应用程序可以隐藏/显示播放选项。

注意:我使用的是自定义播放器,而不是默认的MPMoviePlayerController

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为有两种方法可行:

  1. 将MPVolumeView的showsVolumeSlider设置为NO,AirPlay路线按钮选择器“......仅在有可用的AirPlay输出设备时才可见。”
  2. 来源:https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AirPlayGuide/EnrichYourAppforAirPlay/EnrichYourAppforAirPlay.html

    1. 为MPVolumeViewWirelessRoutesAvailableDidChangeNotification添加观察者并隐藏或删除您的子视图。

      - (void)viewWillAppear:(BOOL)animated {
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(handleWirelessRoutesDidChange:)
                                                     name:MPVolumeViewWirelessRoutesAvailableDidChangeNotification object:nil];
      }
      
      - (void)viewWillDisappear:(BOOL)animated {
          [[NSNotificationCenter defaultCenter] removeObserver:self];
      }
      
      - (void)handleWirelessRoutesDidChange:(NSNotification *)notification {
          NSLog(@"Wireless routes did change: %@", notification);
          // Hide or remove your MPVolumeView
      }