PlayerFactory.java
上传用户:liming6160
上传日期:2022-06-07
资源大小:785k
文件大小:3k
源码类别:

J2ME

开发平台:

Java

  1. /*
  2.  *    Copyright (C) 2001 - 2007 Mobicom-Kavkaz, Inc
  3.  *    MFRadio - stream radio client for Java 2 Micro Edition
  4.  *    
  5.  *    Visit the project page at: http://mfradio.sourceforge.net
  6.  *
  7.  *    This program is free software; you can redistribute it and/or modify
  8.  *    it under the terms of the GNU General Public License as published by
  9.  *    the Free Software Foundation; either version 2 of the License, or
  10.  *    (at your option) any later version.
  11.  *
  12.  *    This program is distributed in the hope that it will be useful,
  13.  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  *    GNU General Public License for more details.
  16.  *
  17.  *    You should have received a copy of the GNU General Public License
  18.  *    along with this program; if not, write to the Free Software
  19.  *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  *
  21.  *    Java (TM) and all Java (TM)-based marks are a trademark or 
  22.  *    registered trademark of Sun Microsystems, Inc, in the United States 
  23.  *    and other countries.
  24.  */
  25. package ru.mobicomk.mfradio.util;
  26. import java.io.IOException;
  27. import java.io.InputStream;
  28. import javax.microedition.media.Manager;
  29. import javax.microedition.media.MediaException;
  30. import javax.microedition.media.Player;
  31. import javax.microedition.media.PlayerListener;
  32. /**
  33.  * Player factory class.
  34.  * <p>Create new {@link javax.microedition.media.Player} object to play back
  35.  * media from {@link InputStream}.</p>
  36.  *
  37.  * @author  Roman Bondarenko
  38.  */
  39. public class PlayerFactory {
  40.     
  41.     /**
  42.      * <p>Create {@link javax.microedition.media.Player} object to play back 
  43.      * media from {@link InputStream} and assign listener to it.</p>
  44.      *
  45.      * @param is Input stream object which well be used for audio stream data read.
  46.      * @param type Audio stream data type. If <b>null</b> is given, 
  47.      * PlayerFactory will attempt to determine the type.
  48.      * @param listener Player listener object.
  49.      * @throws java.io.IOException if I/O error occurence.
  50.      * @throws javax.microedition.media.MediaException if a Player cannot be 
  51.      * created for the given stream and type.
  52.      * @return Created Player.
  53.      */
  54.     public static Player createPlayer(InputStream is, String type, PlayerListener listener) 
  55.         throws IOException, MediaException {
  56.         
  57.         Player p = Manager.createPlayer(is, type);
  58.         p.addPlayerListener(listener);
  59.         p.realize();
  60.         p.prefetch();
  61.         
  62.         return p;
  63.     }
  64.     
  65. }