Как лучше всего сделать непрерывный цикл для получения информации из iTunes?

Я хотел бы сделать непрерывный цикл для получения информации из iTunes, чтобы получить такие вещи, как: положение игрока (1:37), текущий воспроизводимый трек и т. д. Я использую iTunes.h и ScriptingBridge для получения данных iTunes.

Я пытался использовать [NSTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(getInformation) userInfo:nil repeats:YES];, но, судя по тому, что я видел в Мониторе активности, это потребляет много ресурсов ЦП, и если, например, я нажимаю кнопку внутри NSWindow, где у меня есть NSTimer, пользовательский интерфейс моего приложения, которое якобы должно было быть обновлено, не обновляется. Если я отпущу кнопку, пользовательский интерфейс начнет нормально обновляться.
Я также пытался использовать while(1){}, но по какой-то причине мое приложение зависало.

Кто-нибудь1 знает, как выполнить то, что я ищу?


person Pedro Vieira    schedule 29.12.2012    source источник


Ответы (1)


это будет сжигать процессор как сумасшедший .. не опрашивайте!


подпишитесь на рассылку уведомлений:

//the distributed notification sent
#define SONG_CHANGE_NOTIFICATION @"com.apple.iTunes.playerInfo"

бесстыдная реклама: посмотрите исходный код DDBoomBox на github, который делает ТОЧНО то, что вы хотите сделать :)

https://github.com/Daij-Djan/BoomBox

person Daij-Djan    schedule 29.12.2012
comment
спасибо за Ваш ответ! и ваш код с github кажется действительно полезным;) получил то, что мне было нужно! - person Pedro Vieira; 30.12.2012