invokemediaaction.java

来自「国外的j2me播放器软件」· Java 代码 · 共 78 行

JAVA
78
字号
/*
 * Created on 04.mai.2006
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package no.auc.one.portableplayer.userinterface;

import java.io.IOException;

import no.auc.one.portableplayer.librarymanager.MediaContent;
import no.auc.one.portableplayer.settings.Settings;
import no.auc.one.portableplayer.utils.CancelAction;

public class InvokeMediaAction extends Thread implements CancelAction {
    private MediaContent content;
    private int mediaAction;
    
    public static final int PLAYTRACK = 0;
    public static final int PLAY = 1;
    public static final int PAUSE = 2;
    public static final int STOP = 3;
    public static final int NEXT_TRACK = 4;
    public static final int PREVIOUS_TRACK = 5;
    
    public InvokeMediaAction(int mediaAction) {
        super();
        this.mediaAction = mediaAction;
        this.content = null;
    }

    public InvokeMediaAction(int mediaAction, MediaContent content) {
        super();
        this.content = content;
        this.mediaAction = mediaAction;
    }

    public void run() {
        try {
            switch(mediaAction) {
            case PLAYTRACK:
                if (content == null) {
                    throw new IllegalArgumentException("MediaContent can not be null");
                }
                
                UI.getInstance().playMediaTrack(content);
                break;
                
            case PLAY:
                Settings.getInstance().getCurrentMediaRenderer().getAVTransportService().play();
                break;
                
            case PAUSE:
                Settings.getInstance().getCurrentMediaRenderer().getAVTransportService().pause();
                break;
            case STOP:
                Settings.getInstance().getCurrentMediaRenderer().getAVTransportService().stop();
                break;
                
            case NEXT_TRACK:
                Settings.getInstance().getCurrentMediaRenderer().getAVTransportService().next();
                break;
                
            case PREVIOUS_TRACK:
                Settings.getInstance().getCurrentMediaRenderer().getAVTransportService().previous();
                break;
            }
        } catch (java.io.IOException ioe) {
            System.out.println("IOException occured while pausing media renderer");
            ioe.printStackTrace();
        }
    }

    public void cancel() throws IOException {
        // Can't do anything meaningful here :/
    }
}

⌨️ 快捷键说明

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