Получение возвращаемого значения AppleScript в Obj-C

Я использую AppleScript в моем проекте Obj-C какао для управления плеером QuickTime (воспроизведение, пауза, остановка, бег вперед и назад и т. Д.) С большим успехом, хотя мои знания AppleScript очень ограничены. Однако больше всего мне нужно смещение текущего времени фильма для преобразования в метки времени для написания сценария субтитров.

Следующий простой метод показывает точное текущее положение в (плавающих) секундах в диалоговом окне, но Мне бы очень хотелось, чтобы AppleScript возвращал мне переменную , которую я мог бы использовать в остальной части приложения. Как я могу изменить приведенный ниже код для этого? Возможно ли вообще получить доступ к этому значению? Заранее спасибо: -)

-(IBAction)currentPlayTime:(id)sender
{
    NSString *scriptString=[NSString stringWithFormat:
        // get time of current frame... (works perfectly)!
        @"tell application \"QuickTime Player\"\n"
            @"set timeScale to 600\n"
            @"set curr_pos to current time of movie 1/timeScale\n"
            @"display dialog curr_pos\n" // ...not in a practical form to use
        @"end tell\n"];

    NSDictionary *errorDict= nil;
    NSAppleScript *appleScriptObject=[[NSAppleScript alloc] initWithSource:scriptString];
    NSAppleEventDescriptor *eventDescriptor=[appleScriptObject executeAndReturnError:   &errorDict];
    // handle any errors here (snipped for brevity)
    [appleScriptObject release]; // can I retain this?
}
7
задан Bender 24 July 2011 в 02:08
поделиться