Jabłko nie będzie odtwarzać filmu po przebudzeniu ze snu

0

Mam następujący AppleScript, który jest uruchamiany przez iCal jako mój budzik:

set musicPath to the path to me as text
set musicPath to text items 1 thru -12 of musicPath as text
set musicPath to musicPath & "drumsolo.aif"

set volume output volume 90

tell application "QuickTime Player"
    run
    open musicPath
    tell document 1 --
    play --
    end tell --
end tell

Użyłem również „play front document” i „play document 1” dla bloku oznaczonego myślnikami. Problem polega na tym, że Preferencje systemowe budzą komputer na czas (z trybu uśpienia, 5 minut przed uruchomieniem skryptu). Skrypt działa, otwierając plik i zwiększając głośność komputera.

Ale kiedy faktycznie uruchamiasz skrypt dla prawdziwego i TYLKO wtedy, plik dźwiękowy darn nie będzie odtwarzany. Po prostu tam siedzi. Kiedy testowałem go w edytorze Applescript, otwiera się i gra dobrze. Kiedy testowałem go w / iCal (resetowanie zdarzenia do nowego czasu), otwiera się i gra dobrze. Kiedy resetuję czas uśpienia komputera i wydarzenie dnia, otwiera się i gra prawidłowo.

Dopiero gdy przestawię komputer do stanu uśpienia, odpocznij przez 8 godzin, a skrypt obudzi komputer, którego nie odtwarza. Wsparcie!!

SoItBegins
źródło
1
Czy próbowałeś dodać opóźnienie na początku skryptu? Lub sprawdź, czy w ogóle działa, na przykład dodając say gdzieś komenda? Lub na przykład odtwarzanie pliku dźwiękowego afplay lub iTunes?
Lri
FWIW, Calendar (iCal) nie obsługuje już skryptów planowania w Mountain Lion. Próbowałem zrobić coś takiego z launchd, ale stało się to zbyt skomplikowane, ponieważ musiałem użyć pmset, aby obudzić komputer ze stanu uśpienia i skrypt powłoki, aby zmodyfikować listę właściwości agenta. Możesz zajrzeć do innych opcji, takich jak aplikacje innych firm.
Lri
@Lri: (1) Próbuję teraz z poleceniem opóźnienia. (2) Jestem w systemie Snow Leopard i nie planuję aktualizacji w najbliższej przyszłości. Kiedy Mountain Lion stanie się konieczny, użyję po prostu crona. Ale dziękuję za napiwek.
SoItBegins

Odpowiedzi:

1

OK, w końcu odkryłem to po napisaniu 4 lub 5 różnych iteracji kodu. Dodanie instrukcji opóźnienia przed zadziałaniem „tell document 1” - skrypt działał zbyt szybko i próbował odtworzyć finał, zanim był otwarty.

Dzięki, Lri!

SoItBegins
źródło