Как я могу получить текущее значение объема в цели c?

Я хочу получить текущую стоимость моего iphone от аудиоплеера в объекте c. Но я не могу этого понять, потому что устарел.

MPMusicPlayerController *musicPlayer;
musicPlayer.volume //This is deprecated

Есть какие-то альтернативы?


person user3745888    schedule 14.06.2017    source источник
comment
Ответ на этот вопрос уже дан здесь, stackoverflow.com/a/7879500/558575   -  person amergin    schedule 15.06.2017


Ответы (1)


Как написано в документации разработчика, вам следует использовать VolumeView (См. Здесь )
Поскольку это представление, вы не можете получить текущее значение. Я не уверен, но, возможно, этот код работает (не тестировался):

MPVolumeView* volumeView = [[MPVolumeView alloc] init];
for (UIView *view in [volumeView subviews]){
    if([view isKindOfClass:[UISlider class]]) {
        UISlider *slider = (UISlider*) view;
        CGFloat volume = slider.value; // this is the current volume
    }
}

Если это не сработает, вы можете установить громкость вашего приложения, установив

slider.value = 1.0f;

в цикле for.

person tmiedema    schedule 14.06.2017