The JMF Player API allows for the creation of streaming media players as well as players for stored media files. For example, players can be created to display and integrate live broadcasts and large multimedia streams such as movies or music albums into the Web. For example, Intel uses Microsoft's ActiveMovie while Silicon Graphics uses its own Digital Media libraries to provide the core decoders for movie playback. A further disadvantage, however, is that native code complicates the debugging of applets and applications that use JMF players, as native method debugging is not yet well supported in most Java development environments. Any player may act as a controller for one or more other players.
Players can synchronize with one another using methods such as getTimeBase and setTimeBase .
The JMF Player API includes a CachingControl interface for use in building a CachingControl. This minimizes the impact of varying network performance by providing a buffer out of which the multimedia stream can be played while the network catches up to the player after heavy loading slows it down. Interfaces also are provided for GainControl and GainChangeListener so that multimedia samples with soundtracks can be better controlled. The JMF Player API currently is in beta, with a final implementation expected in the second quarter of 1997. Though the current JMF Player API supports only media display, future additions to JMF are intended to add support for media capture and conferencing.