manager.java
来自「This is a resource based on j2me embedde」· Java 代码 · 共 619 行 · 第 1/2 页
JAVA
619 行
* audio_type = bitrate_variable / other_type * other_type = alphanumeric * pos_integer = 1*DIGIT * * and * <a href="#content-type">content type</a> is given in the MIME syntax. * </pre> * <br> * Example: * <br> * <pre> * encoding=pcm&rate=11025&bits=16&channels=1 * </pre> * * <a name="video_encodings"></a> * C. Describing the video or image encodings:<p> * <pre> * video_encodings = video_enc_param *( "&" video_param ) * video_enc_param = "encoding=" video_enc * video_enc = "gray8" / "rgb888" / "bgr888" / * "rgb565" / "rgb555" / "yuv444" / * "yuv422" / "yuv420" / "jpeg" / "png" / * content_type * video_param = "width=" width / * "height=" height / * "fps=" fps / * "colors=" colors / * "progressive=" progressive / * "interlaced=" interlaced / * "type=" video_type * width = pos_integer * height = pos_integer * fps = pos_number * quality = pos_integer * colors = "p" colors_in_palette / * = "rgb" r_bits g_bits b_bits / * = "gray" gray_bits * colors_in_palette = pos_integer * r_bits = pos_integer * g_bits = pos_integer * b_bits = pos_integer * gray_bits = pos_integer * progressive = boolean * video_type = jfif / exif / other_type * other_type = alphanumeric * interlaced = boolean * pos_number = 1*DIGIT [ "." 1*DIGIT ] * boolean = "true" / "false" * * and * <a href="#content-type">content type</a> is given in the MIME syntax. * </pre> * <br> * Examples: * <br> * <pre> * encoding=gray8&width=160&height=120 * encoding=jpeg&quality=80&progressive=true&type=jfif * (progressive JPEG with quality 80 in jfif format) * encoding=jpeg&type=exif * (JPEG in exif format) * encoding=png&colors=rgb888 * (24 bits/pixel PNG) * encoding=rgb888 * (raw 24-bit rgb image) * encoding=rgb&colors=rgb888 * (raw 24-bit rgb image) * </pre> * * <a name="mixed_params"></a> * D. Describing mixed audio and video encodings:<p> * <pre> * mixed_encodings = audio_encodings "&" video_encodings * </pre> * <br> * Example: * <br> * <pre> * encoding=pcm&encoding=gray8&width=160&height=160 * </pre> * * E. Describing custom media encodings:<p> * <pre> * custom_encodings = custom_enc_param *( "&" param ) * custom_enc_param = "encoding=" value * param = key "=" value * key = alphanumeric * value = alphanumeric * </pre> * * <a name="encodings_rules"></a> * F. Rules for handling the encodings strings:<p> * <ul> * <li> If a given parameter is a custom parameter and is not recognizable * by the implementation, the parameter is treated as an illegal * parameter and the method must throw an appropriate Exception * to denote that. * <li> If the value for a given parameter is incorrect because it is * syntactically wrong or illegal (e.g. out of range), * the method must throw an appropriate Exception to denote that. * </ul> * * @created January 13, 2005 * @see javax.microedition.media.protocol.DataSource * @see Player * @see TimeBase */public final class Manager { /** * The locator to create a tone <code>Player</code> * to play back tone sequences. For example, * <pre> * try { * Player p = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR); * p.realize(); * ToneControl tc = (ToneControl)p.getControl("ToneControl"); * tc.setSequence(mySequence); * p.start(); * } catch (IOException ioe) { * } catch (MediaException me) {} * </pre> * * If a tone sequence is not set on the tone * <code>Player</code> via its <code>ToneControl</code>, * the <code>Player</code> does not carry any * sequence. <code>getDuration</code> returns 0 for this * <code>Player</code>. * <p> * The content type of the <code>Player</code> created from this * locator is <code>audio/x-tone-seq</code>. * <p> * A <code>Player</code> for this locator may not be supported * for all implementations. * <p> * Value "device://tone" is assigned to <code>TONE_DEVICE_LOCATOR</code>. */ public final static String TONE_DEVICE_LOCATOR = "device://tone"; // private final static String RADIO_CAPTURE_LOCATOR = "capture://radio"; private final static String DS_ERR = "Cannot create a DataSource for: "; private final static String PL_ERR = "Cannot create a Player for: "; private final static String REDIRECTED_MSG = " with exception message: "; /** * This private constructor keeps anyone from actually * getting a <CODE>Manager</CODE>. */ private Manager() { } /** * Return the list of supported content types for the given protocol. * <p> * See <a href="#content-type">content types</a> for the syntax * of the content types returned. * See <a href="#media-protocol">protocol name</a> for the syntax * of the protocol used. * <p> * For example, if the given <code>protocol</code> * is <code>"http"</code>, * then the supported content types that can be played back * with the <code>http</code> protocol will be returned. * <p> * If <code>null</code> is passed in as the <code>protocol</code>, * all the supported content types for this implementation * will be returned. The returned array must be non-empty. * <p> * If the given <code>protocol</code> is an invalid or * unsupported protocol, then an empty array will be returned. * * @param protocol The input protocol for the supported content types. * @return The list of supported content types for the given protocol. */ public static String[] getSupportedContentTypes(String protocol) { return new String[0]; } /** * Return the list of supported protocols given the content * type. The protocols are returned * as strings which identify what locators can be used for creating * <code>Player</code>'s. * <p> * See <a href="#media-protocol">protocol name</a> for the syntax * of the protocols returned. * See <a href="#content-type">content types</a> for the syntax * of the content type used. * <p> * For example, if the given <code>content_type</code> * is <code>"audio/x-wav"</code>, then the supported protocols * that can be used to play back <code>audio/x-wav</code> * will be returned. * <p> * If <code>null</code> is passed in as the * <code>content_type</code>, * all the supported protocols for this implementation * will be returned. The returned array must be non-empty. * <p> * If the given <code>content_type</code> is an invalid or * unsupported content type, then an empty array will be returned. * * @param content_type The content type for the supported protocols. * @return The list of supported protocols for the given content type. */ public static String[] getSupportedProtocols(String content_type) { return new String[0]; } /** * Create a <code>Player</code> from an input locator. * * @param locator A locator string in URI syntax that describes * the media content. * @return A new <code>Player</code>. * @exception MediaException Thrown if a <code>Player</code> cannot * be created for the given locator. * @exception IOException Thrown if there was a problem connecting * with the source pointed to by the <code>locator</code>. */ public static Player createPlayer(String locator) throws IOException, MediaException { if (locator == null) { throw new IllegalArgumentException(); } throw new MediaException("Cannot create Player"); } /** * Create a <code>Player</code> to play back media from an * <code>InputStream</code>. * <p> * The <code>type</code> argument * specifies the content-type of the input media. If * <code>null</code> is given, <code>Manager</code> will * attempt to determine the type. However, since determining * the media type is non-trivial for some media types, it * may not be feasible in some cases. The * <code>Manager</code> may throw a <code>MediaException</code> * to indicate that. * * @param stream The <code>InputStream</code> that delivers the * input media. * @param type The <code>ContentType</code> of the media. * @return A new <code>Player</code>. * @exception MediaException Thrown if a <code>Player</code> cannot * be created for the given stream and type. * @exception IOException Thrown if there was a problem reading data * from the <code>InputStream</code>. */ public static Player createPlayer(InputStream stream, String type) throws IOException, MediaException { if (stream == null) { throw new IllegalArgumentException(); } if (type == null) { throw new MediaException(PL_ERR + "NULL content-type"); } throw new MediaException("Cannot create Player"); } /** * Play back a tone as specified by a note and its duration. * A note is given in the range of 0 to 127 inclusive. The frequency * of the note can be calculated from the following formula: * <pre> * SEMITONE_CONST = 17.31234049066755 = 1/(ln(2^(1/12))) * note = ln(freq/8.176)*SEMITONE_CONST * The musical note A = MIDI note 69 (0x45) = 440 Hz. * </pre> * This call is a non-blocking call. Notice that this method may * utilize CPU resources significantly on devices that don't * have hardware support for tone generation. * * @param note Defines the tone of the note as specified by the * above formula. * @param duration The duration of the tone in milli-seconds. * Duration must be positive. * @param volume Audio volume range from 0 to 100. 100 represents * the maximum * volume at the current hardware level. Setting the volume to a * value less * than 0 will set the volume to 0. Setting the volume to greater than * 100 will set the volume to 100. * @exception MediaException Thrown if the tone cannot be played * due to a device-related problem. */ public static void playTone(int note, int duration, int volume) throws MediaException { if (note < 0 || note > 127 || duration <= 0) { throw new IllegalArgumentException("bad param"); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?