# #commandes:
# bouton B pour quitter, C pour interrompre/reprendre la lecture
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# pourquoi un nouveau script de video ?
# simplement pour ne plus avoir à répondre à toutes ces questions sur la video !
# ce script est le plus simple possible: j'ai testé toutes les erreurs possibles
# l'appel est personalisable
# le format de la video est auto-détecté
# ajout du plein écran
# de la gestion du volume
# Un dossier Films est automatiquement créé dans votre projet.
# vous y déposez les vidéos à lire !
# Il vaut mieux prendre de petites videos: parce que les démos de 200 Mo...
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
class Game_Film
def initialize(hash)
hash.has_key?(:film) ? film=hash[:film] : return
hash.has_key?(:x) ? @x=hash[:x]+" " : @x="0"
hash.has_key?(:y) ? @y=hash[:y]+" " : @y="0"
hash.has_key?(:w) ? @w=hash[:w]+" " : @w=""
hash.has_key?(:h) ? @h=hash[:h]+" " : @h=""
hash.has_key?(:vol) ? @vol=hash[:vol]+" " : @vol="1000"
hash.has_key?(:bass) ? @bass=hash[:bass]+" " : @bass="1000"
hash.has_key?(:aig) ? @aig=hash[:aig]+" " : @aig="1000"
hash.has_key?(:pos) ? @pos="at pos #{hash[:pos].to_i*1000} " : @pos="at pos 0 "
@full=hash[:full] if hash.has_key?(:full)
@full&dim_ecran !=[640,480] ? @plee="fullscreen " : @plee=""
@type=" "
@type=" type mpegvideo" if File.extname(film)==(".mpg"||".mpeg")
@type=" type avivideo" if File.extname(film)==".avi"
@nom='./Films/'+film
(p "fichier #{@nom} non trouvé";return) if !FileTest.exist?(@nom)
@film=Win32API.new('winmm','mciSendString','ppll','v')
lecture
end
def handle
jeu="\0"*256
ini=Win32API.new('kernel32','GetPrivateProfileStringA','pppplp', 'l')
ini.call('Game','Title','',jeu,255,".\\Game.ini")
return Win32API.new('user32','FindWindowEx','llpp','l').call(0,0,nil,jeu.delete!("\0"))
end
def lecture
v,t,status,pause=version,Time.now," "*255,false
@film.call("open
#{@nom} alias FILE#{@type} style child parent "+handle.to_s,0,0,0)
@film.call("put FILE window at
#{@x}#{@y}
#{@w}#{@h}",status,255,0)
@film.call("setaudio File volume to #{@vol}",status,255,0)
@film.call("setaudio File bass to #{@bass}",status,255,0)