Бих искал да направя непрекъснат цикъл, за да получа информация от iTunes, за да получа неща като: позицията на играча (1:37), текущата песен, която се възпроизвежда и т.н.... Използвам iTunes.h
и ScriptingBridge
, за да получа данните от iTunes.
Опитах да използвам [NSTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(getInformation) userInfo:nil repeats:YES];
, но от това, което видях в Activity Monitor, това изразходва много CPU и ако например натисна бутон вътре в NSWindow
, където имам NSTimer
, потребителският интерфейс на моето приложение, което уж щеше да се актуализира, не се актуализира. Ако пусна бутона, потребителският интерфейс започва да се актуализира нормално.
Опитах също да използвам while(1){}
, но по някаква причина приложението ми замръзва.
Дали някой има някаква идея как да изпълня това, което търся?
Кой е най-добрият начин да направите непрекъснат цикъл, за да получите информация от iTunes?
Отговори (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
Благодаря за вашият отговор! и вашият код от github изглежда наистина полезен ;) получих това, от което имах нужда!
- person Pedro Vieira; 30.12.2012