1

ビデオ オーバーレイで 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 で問題を示していますか?それとも何か不足していますか?

4

1 に答える 1