Objective-C Метод для отключения и включения звука - PullRequest
0 голосов
/ 03 февраля 2011

Я немного застрял, я пытаюсь написать метод, который при нажатии кнопки; получит текущий объем iTunes, сохранит объем как int, объявленный как x. Затем установите громкость iTunes равной 0, что по существу отключит громкость iTunes, но затем я хочу, чтобы громкость iTunes вернулась к значению int x при повторном нажатии кнопки, что по существу включит звук iTunes и вернет его к исходному. объем.

Вот что у меня есть:

- (IBAction)muteAndUnmute:(id)sender {
    iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
    int x;
    x = [iTunes soundVolume];
    if ([iTunes soundVolume] > 0 ) {
        [volumeSlider setIntValue:0];
        [iTunes setSoundVolume:[volumeSlider intValue]];
        [volumeLabel setIntValue:[volumeSlider intValue]];}
    }

Любая помощь будет высоко оценена, я думаю, что это довольно легко сделать, но я просто не могу разобраться с этим, заранее спасибо, Сами.

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

сделайте ваше значение тома (объем) как переменную класса, а не как локальное, тогда

// MyWindowController.h
@interface MyWindowController : NSWindowController {
    int  vol;
}
- (IBAction)btnPressed:(id)sender;
@end


// MyWindowController.m    
@implementation MyWindowController

- (id)init {
    if (self = [super init]) {
        vol = 0;
    }
   return self;
}


- (IBAction)btnPressed:(id)sender
{

        id iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
        if ([iTunes soundVolume] > 0 )
        {
            vol = [iTunes soundVolume];
            [iTunes setSoundVolume:0];
        }
        else
            [iTunes setSoundVolume:vol];

}

@end
0 голосов
/ 11 марта 2011

Вы можете использовать это:

fVolume = [MPMusicPlayerController iPodMusicPlayer].volume;
[MPMusicPlayerController iPodMusicPlayer].volume = 0.0;

//do whatever you want

[MPMusicPlayerController iPodMusicPlayer].volume = fVolume;
...