ビデオ オーバーレイで MPVolumeview を使用して、ルート ボタンを使用し、エアプレイに接続しています。MPVolume のボリューム スライダーを非表示にします。エアプレイが利用可能な場合にのみ、ルート ボタンのフレームを含めるようにオーバーレイのサイズを変更しようとしています。以前は、次のように MPVolumeView のルート ボタンでオブザーバーを使用していました。
for (UIView *view in volumeButton.subviews) {
if ([view isKindOfClass:[UIButton class]]) {
airplayButton = [view retain];
[airplayButton addObserver:self forKeyPath:@"alpha" options:NSKeyValueObservingOptionNew context:nil];
}
}
次に、ボタンが表示されるかどうかを追跡するブール値のプロパティを設定します。しかし最近、iPhone 6 でルート ボタンがビデオに一貫して表示されないことがわかりました。MPVolumeView を振り返ってみると、areWirelessRoutesAvailable という名前のプロパティがあることがわかりました。そのため、コードを調べてみたところ、このプロパティが一貫して true ではないことがわかりました。MPVolumeView を awakeFromNibに設定しており、MPVolumeViewのチェックは layoutsubviews にあります。Airplay の可用性を確認するためのより良い方法はありますか?ルート ボタンは常に MPVolumeView で問題を示していますか?それとも何か不足していますか?