0
set holdthevolume to (path to resource "holdthevolume.scpt" in directory "Scripts")
run script holdthevolume

set copyfiles to (path to resource "copyfiles.scpt" in directory "Scripts")
run script copyfiles

ボリュームを保持します。「繰り返し」の下で実行されているスクリプトです。したがって、ti はアプリを終了するまで終了しません。これを行うと、そのプロセスを通過して2番目の部分「copyfiles」に移動することはありません。そのタスクが終了したかどうかを気にせずに次のタスクに進むにはどうすればよいですか?

スクリプト holdthevolume.scpt は次のとおりです。

repeat
   set volume 7
   delay 0.01
end repeat
4

1 に答える 1

0

1 つの解決策は、holdthevolume.scpt を Stay Open アプリケーションとしてエクスポートして起動することです。これにより、個別のスレッド タイプの実行が可能になります。

例えば、

set vol_app_path to (path to resource "holdthevolume.app" in directory "Scripts")

tell application vol_app_path to launch

set copyfiles to (path to resource "copyfiles.scpt" in directory "Scripts")
run script copyfiles

tell application vol_app_path to quit

..and holdthevolume.app は、ループの代わりにアイドル ハンドラーを使用します。

on idle
    set volume 7
    return 0.01
end idle

マイナス面は、ボリュームを保持することです。アプリはドキュメントに表示されます。

または、「osascript」コマンドで「do shell script」を使用して探索することもできます。これは、ノンブロッキングの方法でも機能する可能性があります。

于 2013-09-10T11:28:41.917 に答える