Section 1: Latency Mask with Asynchronous Download
This demo makes use of Asynchronous importation APIs to mask
load time. Here, an opening animation plays until the
media is loaded.
| This class constructs the image and sound behaviors for the model. |
class AsyncModel extends Model {
public void createModel(BvrsToRun blist) {
try {
| Prepare the out parameters for importMovie. |
ImageBvr[] movieImg = {null};
SoundBvr[] movieSnd = {null};
NumberBvr[] progress = {null};
ModifiableBehavior progressSw = new ModifiableBehavior(toBvr(0));
URL movieURL;
| The location of the movie. |
movieURL = buildURL(getImportBase(),"movie/movie.avi");
loadAnimation waitLogo = new loadAnimation();
ImageBvr standinImg = waitLogo.getImage((NumberBvr)progressSw.getBvr());
| Create a movie image behavior and a movie sound behavior by
importing an avi file. |
importMovie(movieURL, movieImg, movieSnd,
standinImg, silence,
null, progress, null);
progressSw.switchTo(progress[0]);
| Set the image and sound behaviors for this model. The stand-in image
will be displayed while the movie is being downloaded. In this
example, the stand-in sound is silence. |
setImage(overlay(movieImg[0], solidColorImage(black)));
setSound(movieSnd[0]);
} catch(MalformedURLException ex) {}
}
}
| Set the model in our applet class. |
public class AsyncApplet extends DXMApplet {
public void init() {
super.init();
setModel(new AsyncModel());
}
}
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.