Я использую 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?
}