4.1 Player (players)
The player (player) processes a media data input stream and achieves accurate playback of time. The data source (DataSource) passes the input to the player. The player passes the sound or (and) video to the appropriate destination (destination).
Figure 9 is the JMF player model
The player does not provide any control during processing and display of the media data. By inheriting the clock and controller classes, the player can support standard user control features as well as partially restricted operations.
Figure 10 is the JMF player
4.1.1 Player status (player States)
The player object has several states, and 6 states are defined in the JMF. Under normal circumstances, the player object needs to go through each state before the media data can be played. The following are descriptions of these states:
(1) Unrealized: In this state the player object has been instantiated but does not know any information about the media it needs to play.
(2) Realizing: When the realize method is invoked, the state of the player object transitions from unrealized to realizing. In this state the player object is determining that it needs to occupy resources. In this process, the player gets the resources that are needed only once, not the exclusive resources.
(3) Realized: In this state the player object has identified the resources it needs and also knows the type of media to be played (type).
(4) Prefetching: When the Prefectch method is invoked, the state of the player object changes from realized to prefetching the player object in that state is doing some preparation work for the playback media. This includes the exclusive resources needed to load the media data, and so on. This process is called prefetching prefetch.
(5) Refetched: When the player object completes a prefetch operation, it reaches the state.
(6) Started: When the Start method is invoked, the player object enters the state and starts playing the media.