global gVideoTimerID -- コマンド「videoTimer」をストップするグローバル
on mouseUp pButtonNumber
--ビデオプレイヤーがセットされていない時ハンドラーを抜ける
emptyFileName "tVideo"
-- ビデオプレイヤーを動かす
start player "tVideo"
-- 「videoTimer」ミリセコンド間隔でビデオのコントローラを動かす
videoTimer
end mouseUp
command videoTimer -- コマンド「videoTimer」
-- ハイライト・ボタンから数値を「tInterval」に
put the hilitedButtonName of grp "tInterval" into tInterval
send videoTimer to me in tInterval milliseconds
put the result into gVideoTimerID
set the thumbpos of sb "timeBar" to the currentTime of player "tVideo"
-- スナップ・ショットでイメージを「tInterval milliseconds」ごとに設定する
snapshotVideo
-- ビデオが最後まで行ったらストップ
if the thumbpos of sb "timeBar" is the endValue of sb "timeBar" then
cancel gVideoTimerID -- コマンド「videoTimer」キャンセル
set the thumbpos of sb "timeBar" to 0
set the currentTime of player "tVideo" to the 0
stop player "tVideo"
-- スナップ・ショットで初めに戻ったイメージを設定する
snapshotVideo
end if
end videoTimer
ポウズビデオ・ボタン
global gVideoTimerID -- コマンド「videoTimer」をストップするグローバル
on mouseUp
set the paused of player "tVideo" to true
cancel gVideoTimerID -- コマンド「videoTimer」キャンセル
-- スナップ・ショットでポウズしているイメージを設定する
snapshotVideo
end mouseUp
ストップビデオ・ボタン
global gVideoTimerID -- コマンド「videoTimer」をストップするグローバル
on mouseUp
stop player "tVideo"
-- ビデオの時間を0にして元に戻す
set the currentTime of player "tVideo" to 0
cancel gVideoTimerID -- コマンド「videoTimer」キャンセル
set the thumbpos of sb "timeBar" to 0
set the currentTime of player "tVideo" to the 0
-- スナップ・ショットで初めに戻ったイメージを設定する
snapshotVideo
end mouseUp
global gVideoTimerID -- コマンド「videoTimer」をストップするグローバル
on mouseUp -- マウスアップした時
get the thumbpos of sb "timeBar"
set the currentTime of player "tVideo" to it
-- スナップ・ショットでバーの止めたイメージを設定する
snapshotVideo
end mouseUp
on mouseDown -- マウスダウンした直後
-- コマンド「videoTimer」をストップする
cancel gVideoTimerID
end mouseDown
スタックに書き込むファンクション、コマンド
-- LiveCodeファイルがどこにあるかのファンクション
-- スナップ・イメージをテンポラリーで保存するパスを得る
function theFolderPath
if the environment is "development" then
set the itemDel to "/"
return item 1 to -2 of the filename of this stack
else
put the fileName of this stack into tPath
set the itemDel to "/"
switch the platform
case "MacOS"
put item 1 to -5 of tPath into tResult
break
case "Win32"
put item 1 to -2 of tPath into tResult
break
end switch
return tResult
end if
end theFolderPath
-- プレイヤー・オブジェクトにビデオ・ファイルがリンクされていない場合
-- ハンドラーから抜ける
command emptyFileName pPlayerName
if the filename of player pPlayerName is empty then
beep
exit to top
end if
end emptyFileName
カード1に書き込むファンクション、コマンド
-- ドラッグ&ドロップができるファイルにする
on dragEnter
set the acceptDrop to true
end dragEnter
on dragDrop
put dragData["files"] into tPath
-- ターゲットがプレイヤー・オブジェクトの場合
if word 1 of the target is "player" then
set the filename of the target to ("file://"&tPath)
snapshotVideo
set the tOriginalData of image "mosaic" to \
the imageData of image "mosaic"
set the endTime of player "tVideo" to the duration of player "tVideo"
set the endvalue of sb "timeBar" to the duration of player "tVideo"
-- その他のオブジェクト、ビープを鳴らして抜ける
else
beep
exit to top
end if
end dragDrop
-- ビデオ・イメージをスナップショットしてファイルのある場所の「snap」フォルダーに入れる
command snapshotVideo
export snapshot from rect globalLoc(the topLeft of player "tVideo"), \
globalLoc(the bottomRight of player "tVideo") to \
file theFolderPath() & "/snap/videoSnap.jpg" as JPEG
set the text of image "mosaic" to url ("binfile:" & theFolderPath() \
& "/snap/videoSnap.jpg")
end snapshotVideo