2012-09-05 16 views
6

Przez kilka dni przeszukiwałem dokumentację, listy mailingowe i nie mogłem znaleźć odpowiedzi na to.coreaudio: jak ustawić/ustawić głośność alarmu systemowego w przeciwieństwie do woluminu urządzenia

Mam aplikację OS X, która między innymi sprawdza dostępne urządzenia sprzętowe i ich bieżące woluminy za pomocą kAudioDevicePropertyVolumeScalar i znajomych.

Co mogę zrobić, to uzyskać i ustawić -alert- wolumin (?) Dla urządzenia wyjściowego systemu reprezentowanego przez właściwość kAudioHardwarePropertyDefaultSystemOutputDevice niż wolumin urządzenia.

Dla wyjaśnienia mojego ograniczonego rozumowania, jest to ustawienie głośności, które użytkownicy mogą dostosować w Preferencjach systemowych w obszarze "Odtwarzaj efekty dźwiękowe przez".

Przeszukując listy coreaudio-api, udało mi się ustalić, że to ustawienie głośności nie jest właściwością urządzenia, ale pewną pochodną wartości, ale nie jestem pewien, skąd się stąd wzięło.

Każda pomoc zostanie z wdzięcznością przyjęta.

Odpowiedz

1

Nie jestem pewien, czy naprawdę ma wymogu przeczytaniu przez CoreAudio, ale następujący działa dobrze:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults addSuiteNamed:@"com.apple.systemsound"];   
NSLog(@"%f", [defaults floatForKey:@"com.apple.sound.beep.volume"]); 

Choć może się to zmienić wraz z aktualizacjami systemu operacyjnego jako ustawienia są przechowywane w ~/Library/Preferences/com.apple.systemsound.plist.

Powiązane problemy