Best Practice with Player object to determine audio or video
paul at researchware.com
Thu Jul 11 11:28:13 EDT 2019
I'm looking for the best way (code), cross platform, to determine if the
media a user selected for a player object is audio (only) or a video.
I am surprised there is not some inherent player property to get this
information. I am using an approach that looks at the formattedHeight
(with audio media that should just be the height of the controller), but
is there some better approach. What if, for some strange reason someone
loads a 2px high video? There isn't a way to get the controler height
exactly and I think it is slightly different between OSX and Windows
(and I have not checked Linux or any other platform)
This is our current code:
getProp mediaType -- returns whether a player is showing audio, video,
put 40 into maxControllerHeight -- magic number
if word 1 of the name of the target is not "player" then return empty
if the filename of the target is empty OR there is no file (the
filename of the target) then return "none" -- player not loaded
if the formattedHeight of the target <= maxControllerHeight then
return "audio" else return "video"
However, the "40" figure bother me because it doesn't come from LiveCode
itself. What if with LC10, the Mothership revised the controller and its
now 41px high and the code breaks. Anyone have a better way?
More information about the Use-livecode