%D \module %D [ file=java-imp-splayer, %D version=2019.10.14, %D title=\CONTEXT\ JavaScript Macros, %D subtitle=Shockwave Sound Support, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. %D As part of the interaction manual writing this code was moved here. It's %D kind of obsolete as shockwave is obsolete. Anywaym, here's how it works. %D One can actually set all kind of properties but let's not waste time on %D that. Maybe some day \PDF\ will have proper native video support. %D %D \starttyping %D \starttext %D %D \useJSscripts[splayer] %D %D \setupinteraction %D [state=start] %D %D \externalfigure %D [shockwave] %D [frame=on, %D width=480pt, %D height=270pt, %D file=sample.mp3, % your file here %D label=foo] %D %D \goto{START} [JS(StartShockwave{foo})] %D \goto{REWIND}[JS(RewindShockwave{foo})] %D \goto{PAUSE} [JS(PauseShockwave{foo})] %D \goto{STOP} [JS(StopShockwave{foo})] %D %D \stoptext %D \stoptyping % using aplayer9.swf from https://gitlab.com/agrahn/media9/: \startluaparameterset[shockwave:display] toolbar = true, -- preview = "somefile", open = "click", close = "click", -- essential for playing after the page \stopluaparameterset \startJSpreamble shockwave used now function StartShockwave(label) { var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ; if (rm.activated) { // ok } else { rm.activated = true ; } rm.callAS("rewind") ; rm.callAS("playPause") ; } function StopShockwave(label) { var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ; if (rm.activated) { rm.callAS("pause") ; rm.callAS("rewind") ; } } function RewindShockwave(label) { var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ; if (rm.activated) { rm.callAS("rewind") ; } } function PauseShockwave(label) { var rm = this.getAnnotsRichMedia(this.pageNum,label)[0] ; if (rm.activated) { rm.callAS("playPause") ; } } \stopJSpreamble \definereference[StartShockwave] [JS(StartShockwave)] \definereference[StopShockwave] [JS(StopShockwave)] \definereference[RewindShockwave][JS(RewindShockwave)] \definereference[PauseShockwave] [JS(PauseShockwave)] \unprotect \doglobal \useexternalfigure [shockwave] [aplayer9.swf] %[arguments=\luaparameterset{shockwave:arguments}{src="\externalfigureparameter\v!file",source="\externalfigureparameter\v!file"}, [\c!arguments=\luaparameterset{shockwave:arguments}{source="\externalfigureparameter\v!file",hideBar=true,autoPlay=true,volume=1}, \c!resources=\luaparameterset{shockwave:resources}{files={"\externalfigureparameter\v!file"}}, \c!display=shockwave:display] \protect \endinput