iOS: доступ к аппаратному контролю громкости звука на устройстве - PullRequest
7 голосов
/ 23 февраля 2012

Я реализовал этот стример (https://github.com/DigitalDJ/AudioStreamer) внутри моего приложения, и он работает фантастически, однако в нем нет встроенных регуляторов громкости, у кого-нибудь есть советы, как начать работу со слайдом громкости или что-то подобное?

Я искал похожие вопросы:

Не нашел ничего из этого полезного, чтобы ответить на мой вопрос, как изменить громкость (вверх / вниз) и, конечно, подключить его к какому-то элементу управления, то есть к ползунку, любая помощь приветствуется

Ответы [ 2 ]

21 голосов
/ 01 марта 2012

убедитесь, что вы добавили каркас MediaPlayer в свой проект

Вы должны определить представление в вашем .h файле, чтобы поместить ползунок в этом случае "viewVolume"

ИНФОРМАЦИЯ: ЭТО НЕ БУДЕТ РАБОТАТЬ В СИМУЛЯТОРЕ ТОЛЬКО НА РЕАЛЬНОМ УСТРОЙСТВЕ.

#import <MediaPlayer/MediaPlayer.h>

- (void)showTheVolumeSlider {

    MPVolumeView *volumeViewSlider = [[MPVolumeView alloc] initWithFrame:viewVolume.bounds] ;
    [viewVolume addSubview:volumeViewSlider];
    [volumeViewSlider sizeToFit];

}

этот код использует ARC.

этот код также будет работать:

musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
    musicPlayer.volume = slider.value;

но если вы хотите использовать это, вы должны создать систему, которая обновит ползунок, когда громкость устройства регулируется из другого места

это будет работать для обновления тома, но я не знаю, лучший ли это способ

  timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateSound) userInfo:nil repeats:YES];

чтобы обновить UISlider:

- (void)updateSound {

    musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
    slider.value = musicPlayer.volume;
    // value from 0.0 to 1.0

}
9 голосов
/ 27 февраля 2012

Вы можете использовать MPVolumeView.Это дает вам UISlider, который контролирует громкость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...