1

iOS ボリューム オーバーレイ/hud を非表示にしながら、最初のビュー コントローラーでボリュームを最大に設定しようとしています。何らかの理由で、.m ファイルでこのコードを使用すると:

-(void)preventSystemVolumePopup {
    // Prevent Audio-Change Popus
    MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(-2000., -2000., 0.1f, 0.1f)];
    NSArray *windows = [UIApplication sharedApplication].windows;

    volumeView.alpha = 0.1f;
    volumeView.userInteractionEnabled = NO;
    [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];//set system vol to max


    if (windows.count > 0) {
       [[windows objectAtIndex:0] addSubview:volumeView];

    }
}

音量は変わりません。ただし、システム ボリュームの変更を追加すると、次のようになります。

[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];

私のviewDidLoadでは、ボリュームオーバーレイが表示されることを除いて、正常に動作します。

誰かが私が間違っていることを説明できますか? UIviewまた、IB にa を追加してMPVolumeView、それをビューの背面に送信して非表示にしようとしましたが、それでもオーバーレイは非表示になりません。

4

1 に答える 1