100 likes | 232 Views
7. Videosovellusten ohjelmointi. Java Media Framework Median käsittelyvaiheet Tarpeellisia luokkia. Java Media Framework (JMF). http://java.sun.com/products/java-media/jmf Javan luokkakirjasto video- ja audiotoimintoja varten Java 2 SDK:n erillinen laajennuspaketti
E N D
7. Videosovellusten ohjelmointi Java Media Framework Median käsittelyvaiheet Tarpeellisia luokkia DVP-7 Teuhola 2007
Java Media Framework (JMF) • http://java.sun.com/products/java-media/jmf • Javan luokkakirjasto video- ja audiotoimintoja varten • Java 2 SDK:n erillinen laajennuspaketti • Kehittäjiä: Sun, Intel, Silicon Graphics, IBM • Sunin referenssitoteutus: JMF 2.1.1. • JMF tukee useita mediatiedostotyypejä ja ‘kaappauslaitteita’ (mikrofoni, kamera) • Median siirto RTP-protokollalla DVP-7 Teuhola 2007
JMF:n tukemia mediatiedostotyyppejä • Microsoftin AVI (Audio/Video Interleave; .avi) • Macromedia Flash movie (.swf) • MPEG-1-video (.mpeg, .mpg) • MPEG Layer 3 Audio (.mp3) • MIDI (Musical Instrument Digital Interface; .mid) • Quicktime (.mov) • Wave audio (.wav), Sun audio (.au) • Audio Interchange File Format(.aiff) DVP-7 Teuhola 2007
JMF:n pakkauksia • Perusvälineet: • javax.media.* • Muita: • javax.media.control.* • javax.media.format. * • javax.media.protocol.* • javax.media.renderer.* • javax.media.rtp.* • javax.media.util.* DVP-7 Teuhola 2007
JMF: ’Mediankaappaus’ (capture) • Tuki videonkaappauslaitteille, joilla Video for Windows –ajuri • Tuli audionkaappauslaitteille (esim. äänikortti), jotka käyttävät Windowsin Direct Sound Interfacea tai Java Sound Interfacea. • Solarikselle oma ’Performance Pack’. DVP-7 Teuhola 2007
Mediasoittimen ohjelmointi • Keskeisin komponentti: Player-rajapinta • Ohjelmointitehtävät: • Määritellään medialähde (luokka MediaLocator) • Luodaan soitin (Player-rajapinnan toteuttavan luokan esiintymä; Manager.createPlayer) • Luodaan soittimen visuaalinen komponentti (player.getVisualComponent) ja ohjaimet (player.getControlPanelComponent) • Näytetään media ja ohjaimet • Huom! Olemassa myös MediaPlayer –bean(javax.media.bean.playerbean.MediaPlayer) DVP-7 Teuhola 2007
JMF: Median esittämisen vaiheet • Playerin toteutus ( player.realize() )Kun valmis, generoituu tapahtuma RealizeCompleteEvent • Median ennakkolataus ( player.prefetch() )Kun valmis, generoituu tapahtumaPrefetchCompleteEvent • Esityksen käynnistys ( player.start() )Kun valmis, generoituu tapahtuma EndOfMediaEvent DVP-7 Teuhola 2007
JMF: Renderöintityypit • Lightweight-komponentit: • Yhteensopivia Swing-pakkauksen lightweight-komponenttien kanssa • Alustariippumattomia • Heavyweight-komponentit: • Eivät välttämättä tuota oikeannäköistä ulkoasua yhdessä Swing-komponenttien kanssa • Mahdollisesti tehokkaampia DVP-7 Teuhola 2007
Median käsittelyssä tarvittaviaJMF-luokkia • DataSource: • Muodostaa ja abstrahoi yhteyden medialähteeseen. • Mahdollistaa median manipuloinnin • Processor: • Mahdollistaa formatoinnin • DataSink: • Mahdollistaa formatoidun median tallennuksen DVP-7 Teuhola 2007
JMF: Muita usein tarvittavia luokkia • MediaLocator (median sijainti, esim. URL) • CaptureDevice (kaappauslaitteiden rajapinta) • CaptureDeviceManager (kaappauslaitteet) • Manager (järjestelmäresurssien saanti, esim. soittimet, datalähteet, prosessorit, ...) • Buffer (mediadatan puskuri) • Format (abstrakti mediaformaatti) • FormatControl (formaatin käsittelyrajapinta) DVP-7 Teuhola 2007