Previous Topic Tutorial Home Page Next Topic
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");

Create a stand-in image.
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.

Previous Topic Tutorial Home Page Next Topic