Size: a a a

iOS Developers — русскоговорящее сообщество

2020 December 23

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
Randy420
Because springboard handles the volume buttons
So there is no way to do this inside the app?
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Denis Kim
ну я имел ввиду конечно переписать по-другому, а не еще раз так же)
я бы не знал как. но я открыт для предложений
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Alex T. Willam
So there is no way to do this inside the app?
Don't think so

Look at iOS patched sdks
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
Randy420
Don't think so

Look at iOS patched sdks
Even listening to a notification?
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Alex T. Willam
Even listening to a notification?
Pretty sure you'd need to inject into a place you're not allowed to
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ну эм, во-первых сделать стеквью вместо таблицы. во вторых сделать вычисляемые параметры isHidden для каждой ячейки. и дергать общий метод который для всех ячеек будет проставлять этот параметр при переключении
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Видишь ли, я только что научился objective-c на прошлой неделе, лол
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
[[AVAudioSession sharedInstance] setActive:YES error:nil];
  [[AVAudioSession sharedInstance] addObserver:self forKeyPath:@"outputVolume" options:0 context:nil];
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
I used this code, it works for both buttons, but my issue is I can’t detect which button is pressed
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{

  AVAudioSession *currentSystemVolume = [AVAudioSession sharedInstance];
 
   if ([keyPath isEqual:@"outputVolume"]) {

if([[AVAudioSession sharedInstance] outputVolume] < currentSystemVolume.outputVolume)
       {
           NSLog(@"Volume key down");

           //your code when volume key down is pressed.
       } else if([[AVAudioSession sharedInstance] outputVolume] > currentSystemVolume.outputVolume)
       {
           NSLog(@"Volume key up");

           //your code when volume key up is pressed.
       }
}
}
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Can you save the last volume %?
источник

КС

Константин Синчило... in iOS Developers — русскоговорящее сообщество
Randy420
Видишь ли, я только что научился objective-c на прошлой неделе, лол
Вот это скорость
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
Alex T. Willam
-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{

  AVAudioSession *currentSystemVolume = [AVAudioSession sharedInstance];
 
   if ([keyPath isEqual:@"outputVolume"]) {

if([[AVAudioSession sharedInstance] outputVolume] < currentSystemVolume.outputVolume)
       {
           NSLog(@"Volume key down");

           //your code when volume key down is pressed.
       } else if([[AVAudioSession sharedInstance] outputVolume] > currentSystemVolume.outputVolume)
       {
           NSLog(@"Volume key up");

           //your code when volume key up is pressed.
       }
}
}
I think there’s something wrong in my code this is why it doesn’t work
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
Shall i save it?
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Константин Синчило
Вот это скорость
но теперь я не могу использовать вложенные переключатели
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
Alex T. Willam
-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{

  AVAudioSession *currentSystemVolume = [AVAudioSession sharedInstance];
 
   if ([keyPath isEqual:@"outputVolume"]) {

if([[AVAudioSession sharedInstance] outputVolume] < currentSystemVolume.outputVolume)
       {
           NSLog(@"Volume key down");

           //your code when volume key down is pressed.
       } else if([[AVAudioSession sharedInstance] outputVolume] > currentSystemVolume.outputVolume)
       {
           NSLog(@"Volume key up");

           //your code when volume key up is pressed.
       }
}
}
Unfortunately you're testing the changed volume against the current volume which is the changed volume - so they're equal, no?
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
I think yes they’re
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
You need to save the old volume and then see if it's changed
источник

AT

Alex T. Willam in iOS Developers — русскоговорящее сообщество
Can i have an example for saving it?
источник

R

Randy420 in iOS Developers — русскоговорящее сообщество
float currentVolume = currentSystemVolume.outputVolume;
источник