⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mediafactory.java

📁 MAPI手机多媒体播放的例子
💻 JAVA
字号:
package com.nokia.example.mmapi.mediasampler.data;

import javax.microedition.media.control.ToneControl;
import javax.microedition.midlet.MIDlet;

/**
 * MediaFactory is a provides class for medias.
 */
public class MediaFactory
{
    private static boolean soundInitDone = false;

    private static boolean videoInitDone = false;

    private static Media[] soundMedias;

    private static Media[] videoMedias;

    private static MIDlet mlet;

    public static Media getDefaultARM()
    {
        return getSoundMedias()[1];
    }

    public static Media getDefaultMidi()
    {
        return getSoundMedias()[0];
    }

    public static Media getDefaultXWav()
    {
        return getSoundMedias()[3];
    }

    public static Media getDefaultWav()
    {
        return getSoundMedias()[2];
    }

    public static Media getDRMMidi()
    {
        String drmFile = mlet.getAppProperty("DRM-Audio-Clip");
        Media drmMedia = new Media(drmFile, "audio/midi", Media.LOCATION_FILE);
        return drmMedia;
    }

    public static Media getDefaultVideo()
    {
        return getVideoMedias()[0];
    }

    public static void setMidlet(MIDlet midlet)
    {
        mlet = midlet;
    }

    public static Media[] getAllMedias()
    {
        return null;
    }

    public static Media[] getSoundMedias()
    {
        if (!soundInitDone)
        {
            String armFile = mlet.getAppProperty("AMR-Audio-Clip");
            String midiFile = mlet.getAppProperty("MIDI-Audio-Clip");
            String wavFile = mlet.getAppProperty("WAV-Audio-Clip");

            Media m1 = new Media(midiFile, "audio/midi", Media.LOCATION_JAR);
            Media m2 = new Media(armFile, "audio/amr", Media.LOCATION_JAR);
            Media m3 = new Media(wavFile, "audio/wav", Media.LOCATION_JAR);
            Media m4 = new Media(wavFile, "audio/x-wav", Media.LOCATION_JAR);

            soundMedias = new Media[] { m1, m2, m3, m4 };
            soundInitDone = true;
        }

        return soundMedias;
    }

    public static Media[] getVideoMedias()
    {
        if (!videoInitDone)
        {
            String videoFile = mlet.getAppProperty("Video-Clip");
            Media m = new Media(videoFile, "video/3gpp", Media.LOCATION_JAR);
            videoMedias = new Media[] { m };
            videoInitDone = true;
        }

        return videoMedias;
    }

    public static byte[] getToneSequence()
    {
        byte[] sequence = { ToneControl.VERSION, 1, ToneControl.TEMPO, 30, // times
                                                                            // 4 =
                                                                            // 120
                                                                            // beats-per-minute
                ToneControl.C4, 16, ToneControl.C4 + 2, 16, // D4
                ToneControl.C4 + 4, 16, // E4
                ToneControl.C4 + 5, 16, // F4 (note E# does not exist)
                ToneControl.C4 + 7, 16, // G4
                ToneControl.C4 + 9, 16, // A4
                ToneControl.C4 + 11, 16, // B4
                ToneControl.C4 + 9, 8, // A4
                ToneControl.C4 + 7, 8, // G4
                ToneControl.C4 + 5, 8, // F4 (note E# does not exist)
                ToneControl.C4 + 4, 8, // E4
                ToneControl.C4 + 2, 8, // D4
                ToneControl.C4, 8, };
        return sequence;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -