2014-09-29 2 views
0

Я столкнулся, ведьма просто quoestion, я didn't найти в Google или на любом форуме. Как отключить звук/звук приложения? как немой? Я не хочу, чтобы checkbox witch контролировал звук приложения.Cocoa Mac OSX приложение выключить звук

Я был бы признателен за подробное определение

ответ

0

Попробуйте это из source code:

- (void)setDefaultAudioDevice 
{ 
    UInt32 propertySize = 0; 
    OSStatus status = noErr; 
    AudioObjectPropertyAddress propertyAOPA; 

    propertyAOPA.mElement = kAudioObjectPropertyElementMaster; 
    propertyAOPA.mScope = kAudioObjectPropertyScopeGlobal; 
    propertyAOPA.mSelector = kAudioHardwarePropertyDefaultOutputDevice; 
    propertySize = sizeof(AudioDeviceID); 

    status = AudioHardwareServiceGetPropertyData(kAudioObjectSystemObject, &propertyAOPA, 0, NULL, &propertySize, &outputDeviceID); 

    if(status) 
    { 
     // Error 
     return; 
    } 
} 

- (void)muteHardwareVolume 
{ 
    UInt32 propertySize = 0; 
    OSStatus status = noErr; 
    AudioObjectPropertyAddress propertyAOPA; 

    [self setDefaultAudioDevice]; 

    propertyAOPA.mElement = kAudioObjectPropertyElementMaster; 
    propertyAOPA.mScope = kAudioDevicePropertyScopeOutput; 

    propertyAOPA.mSelector = kAudioDevicePropertyMute; 

    propertySize = sizeof(UInt32); 
    UInt32 mute = 1; 
    status = AudioHardwareServiceSetPropertyData(outputDeviceID, &propertyAOPA, 0, NULL, propertySize, &mute); 

    if(status) 
    { 
     // Error 
     return; 
    } 
} 
+0

Hy, спасибо за повтор, это не удалось «propertyAOPA» undentified, вы добавили столько кода, но поясню, если любая команда, такая как [NSApp setmute: True] или [VLCAudio setvolume: 0]; im usling libvlc, на OSX 10.9. Я знаю, что есть простая команда, которая отключается – RepoStack

+0

Привет! Я не видел что-то вроде [NSApp setmute: True] или [VLCAudio setvolume: 0], только для QTMovie или AVPlayer, но не для системы. Для правильного примера компиляции вам нужно включить framework #import И объявить outputDeviceID – toohtik

+0

Не могли бы вы объяснить, как объявить outputDeviceID? , – RepoStack

Смежные вопросы