本文整理汇总了Java中javax.media.Player类的典型用法代码示例。如果您正苦于以下问题:Java Player类的具体用法?Java Player怎么用?Java Player使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Player类属于javax.media包,在下文中一共展示了Player类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: JMFrame
import javax.media.Player; //导入依赖的package包/类
public JMFrame(Player player, String title) {
super(title, true, true, true, true);
getContentPane().setLayout( new BorderLayout() );
setSize(320, 10);
setLocation(50, 50);
setVisible(true);
mplayer = player;
mplayer.addControllerListener((ControllerListener) this);
mplayer.realize();
addInternalFrameListener( new InternalFrameAdapter() {
public void internalFrameClosing(InternalFrameEvent ife) {
mplayer.close();
}
} );
}
示例2: main
import javax.media.Player; //导入依赖的package包/类
public static void main(String args[]) {
Player player;
// This is little trick simply to keep
// the application running indefinitely.
JFrame f = new JFrame();
if( args.length != 1 ) {
System.err.println("Usage:");
System.err.println("java ejmf.examples.basics.JMFAudioOnly <Media>");
return;
}
String media = args[0];
try {
URL url = new URL("file:///" + new File(media).getCanonicalPath());
player = Manager.createPlayer(url);
player.start();
}
catch (Exception e) {
e.printStackTrace();
}
}
示例3: main
import javax.media.Player; //导入依赖的package包/类
public static void main(String args[]) {
Player player;
// This is little trick simply to keep
// the application running indefinitely.
JFrame f = new JFrame();
if( args.length != 1 ) {
System.err.println("Usage:");
System.err.println("java ejmf.examples.basics.JMFAudioLoop <Media>");
return;
}
String media = args[0];
try {
URL url = new URL("file:///" + new File(media).getCanonicalPath());
player = Manager.createPlayer(url);
player.addControllerListener(new LoopListener());
player.start();
}
catch (Exception e) {
e.printStackTrace();
}
}
示例4: main
import javax.media.Player; //导入依赖的package包/类
public static void main(String args[]) {
JPanel playerPanel;
Player player;
if( args.length != 1 ) {
System.err.println("Usage:");
System.err.println("java ejmf.examples.basics.JMFVideoToo <Media>");
return;
}
String media = args[0];
JFrame f = new JFrame(media);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent event) {
System.exit(0);
}
});
playerPanel = new JPanel();
playerPanel.setLayout(new BorderLayout());
f.getContentPane().add(playerPanel);
f.pack();
f.setVisible(true);
try {
URL url = new URL("file:///" + new File(media).getCanonicalPath());
player = Manager.createPlayer(url);
player.addControllerListener(new VideoTooListener(playerPanel));
player.start();
}
catch (Exception e) {
e.printStackTrace();
}
}
示例5: main
import javax.media.Player; //导入依赖的package包/类
public static void main(String args[]) {
if( args.length == 0 ) {
System.out.println("Specify at least one media URL/file");
return;
}
Vector v = new Vector();
// Create a Vector of Players
for(int i = 0; i < args.length; i++) {
try {
Player p = Manager.createPlayer(
Utility.appArgToMediaLocator(args[i]) );
new StateWaiter(p).blockingRealize();
v.addElement(p);
} catch(Exception e) {
System.out.println( "Could not create Player for " + args[i]);
e.printStackTrace();
}
}
// Choose a Master
players = new Player[ v.size() ];
v.copyInto(players);
new XSync(players);
}
示例6: blockingPrefetch
import javax.media.Player; //导入依赖的package包/类
/**
* A wrapper around StateWaiter's <tt>blockingPrefetch<tt>
* that stops the Player if necessary before testing state.
* If Controller state is less than <tt>Prefetched</tt>, then
* Controller is moved to this state.
*
* This method performs a slight optimization by checking whether
* Controller is already in the <tt>Prefetched</tt> state.
* If so, return is immediate.
*
* @param player A javax.media.Player
@ @see ejmf.toolkit.util.StateWaiter
*/
private boolean blockingPrefetch(Player player) {
int state = player.getState();
if (state == Controller.Prefetched) {
return true;
}
if (state == Controller.Started) {
player.stop();
}
if (state < Controller.Prefetched) {
StateWaiter sw = new StateWaiter(player);
return sw.blockingPrefetch();
}
return true;
}
示例7: MultiPlayer
import javax.media.Player; //导入依赖的package包/类
/**
* Create a MultiPlayer from an array of media file names.
* @param mediaFiles An array of media file names
* @param mpc A MultiPlayerControl strategy.
*/
public MultiPlayer(String[] mediaFiles, MultiPlayerControl mpc) {
tracks = new TrackList(mediaFiles.length);
for (int i = 0; i < mediaFiles.length; i++) {
try {
String path = new File(mediaFiles[i]).getCanonicalPath();
MediaLocator ml = Utility.appArgToMediaLocator(path);
Player player = Manager.createPlayer(ml);
tracks.addElement(new Track(i, ml, player));
} catch (Exception e) {
System.err.println(
"Unable to create Player from " + mediaFiles[i]);
continue;
}
}
nActiveTracks = addAsListener(tracks);
setControlStrategy(mpc);
}
示例8: displayPlayers
import javax.media.Player; //导入依赖的package包/类
/** Display all Player ViewScreens
*
*/
public void displayPlayers() {
if (viewingPanel == null)
return;
for (int i = 0; i < tracks.getNumberOfTracks(); i++) {
Track track = tracks.getTrack(i);
if (track.isAvailable())
continue;
Player player = track.getPlayer();
String path = track.getMediaLocator().toString();
viewingPanel.addScreen(new File(path).getName(),
player,
ViewingPanel.DISPLAY_BOTH);
}
}
示例9: query
import javax.media.Player; //导入依赖的package包/类
/**
* A debugging hook for dumping contents of each Track
* to the file.dbg.out.
*/
public void query() {
for (int i = 0; i < tracks.getNumberOfTracks(); i++) {
Track track = tracks.getTrack(i);
Player p = track.getPlayer();
System.out.println("++++++++++++++++++++");
if (track.isAvailable()) {
System.out.println("Track " + i + " not assigned");
continue;
}
System.out.println("player = " + track.getMediaLocator().toString());
System.out.println("state = " + Utility.stateToString(p.getState()));
System.out.println("media time = " + p.getMediaTime().getSeconds());
System.out.println("stop time = " + p.getStopTime().getSeconds());
System.out.println("duration = " + p.getDuration().getSeconds());
}
}
示例10: installPlayer
import javax.media.Player; //导入依赖的package包/类
/** In response to TrackModelEvent, add a Player.
* initPlayer is called to bring Player to prefetched
* state. If a ViewingPanel exists, the Player screen
* is displayed. Newly added Player adopts TimeBase
* of current master Player.
*
* @param tm TrackModel to which Player is being added.
* @param index which track is getting a new Player
* @see javax.media.TimeBase
* @see ejmf.toolkit.multiplayer.TrackModelAssignEvent
* @see ejmf.toolkit.multiplayer.TrackModel
* @see ejmf.toolkit.gui.ViewingPanel
* @see ejmf.toolkit.gui.ViewScreen
*
*/
private void installPlayer(TrackModel tm, int index) {
Debug.printObject("enter installPlayer : " + index);
Track track = tracks.getTrack(index);
Player player = track.getPlayer();
player.addControllerListener(this);
synchronized (this) {
nActiveTracks++;
}
if (viewingPanel != null)
viewingPanel.addScreen(track.getMediaLocator().toString(),
player,
ViewingPanel.DISPLAY_BOTH);
Debug.printObject("exit installPlayer : " + index);
}
示例11: forceRealized
import javax.media.Player; //导入依赖的package包/类
private void forceRealized(TrackList tracks) {
for (int i = 0; i < tracks.getNumberOfTracks(); i++) {
Track track = tracks.getTrack(i);
if (track.isAssigned()) {
Player player = track.getPlayer();
int state = player.getState();
if (state == Controller.Started) {
player.stop();
}
if (state > Controller.Realized) {
player.deallocate();
}
}
}
}
示例12: NPlayerPanel
import javax.media.Player; //导入依赖的package包/类
/**
* Create an NPlayerPanel from a MultiPlayer.
* In this case, Players are already constructed.
* Players are moved to prefetch state.
*/
public NPlayerPanel(MultiPlayer mp) {
tracks = mp.getTrackList();
Vector v = new Vector();
for (int i = 0; i < tracks.getNumberOfTracks(); i++) {
Track track = tracks.getTrack(i);
if (track.isAssigned()) {
v.addElement(track.getPlayer());
}
}
players = new Player[v.size()];
v.copyInto(players);
setLayout(createLayout(players.length));
for (int i = 0; i < players.length; i++) {
StateWaiter waiter = new StateWaiter(players[i]);
waiter.blockingRealize();
displayPlayer(players[i], tracks.getTrack(i).getMediaLocator());
waiter.blockingPrefetch();
}
}
示例13: createAndDisplayPlayers
import javax.media.Player; //导入依赖的package包/类
private void createAndDisplayPlayers(MediaLocator[] mls)
throws NoPlayerException, IOException {
StateWaiter waiter;
setLayout(createLayout(mls.length));
players = new Player[mls.length];
for (int i = 0; i < mls.length; i++) {
players[i] = Manager.createPlayer(mls[i]);
waiter = new StateWaiter(players[i]);
waiter.blockingRealize();
displayPlayer(players[i], mls[i]);
waiter.blockingPrefetch();
}
}
示例14: timeDragged
import javax.media.Player; //导入依赖的package包/类
private void timeDragged(int x) {
if (player == null)
return;
// Determine the requested media time based on duration of the file
// and position of the mouse in the control panel.
long dura = player.getDuration().getNanoseconds();
if (dura < 0 || dura > 3 * 3600 * 1000000000L)
return;
long nano = (long) ((float) (x - COMPONENTS[MEDIATIME][0]) /
(COMPONENTS[MEDIATIME][2] -
COMPONENTS[MEDIATIME][0] + 1) * dura);
if (nano < 0) nano = 0;
if (nano > dura) nano = dura;
// Set the media time
player.setMediaTime(new Time(nano));
if (player.getTargetState() < Player.Started)
player.prefetch();
repaint();
}
示例15: controllerUpdate
import javax.media.Player; //导入依赖的package包/类
/**
* ControllerListener for the Players.
*/
public synchronized void controllerUpdate(ControllerEvent ce) {
Player p = (Player) ce.getSourceController();
if (p == null)
return;
// Get this when the internal players are realized.
if (ce instanceof RealizeCompleteEvent) {
p.start();
}
if (ce instanceof ControllerErrorEvent) {
p.removeControllerListener(this);
LOGGER.severe("Receiver internal error: " + ce);
}
}