Search in sources :

Example 11 with ActionInvocation

use of org.fourthline.cling.model.action.ActionInvocation in project BeyondUPnP by kevinshine.

the class PlaybackCommand method seek.

/**
     * Seek
     * seek完成后通过handler重新启动position同步线程
     *
     * @param relativeTimeTarget 要seek到的值,该值为已播放的相对时间如:01:15:03
     * @param handler
     */
public static void seek(String relativeTimeTarget, final Handler handler) {
    Device device = SystemManager.getInstance().getSelectedDevice();
    //Check selected device
    if (device == null)
        return;
    Service avtService = device.findService(SystemManager.AV_TRANSPORT_SERVICE);
    if (avtService != null) {
        ControlPoint cp = SystemManager.getInstance().getControlPoint();
        cp.execute(new Seek(avtService, relativeTimeTarget) {

            @Override
            public void success(ActionInvocation invocation) {
                Log.i(TAG, "Seek success.");
                //Delay 1 second to synchronize remote device rel_time and SeekBar progress value.
                handler.postDelayed(new Runnable() {

                    @Override
                    public void run() {
                        handler.sendEmptyMessage(NowplayingFragment.RESUME_SEEKBAR_ACTION);
                    }
                }, 1000);
            }

            @Override
            public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) {
                Log.e(TAG, "Seek failed");
            }
        });
    }
}
Also used : UpnpResponse(org.fourthline.cling.model.message.UpnpResponse) Device(org.fourthline.cling.model.meta.Device) ActionInvocation(org.fourthline.cling.model.action.ActionInvocation) Service(org.fourthline.cling.model.meta.Service) ControlPoint(org.fourthline.cling.controlpoint.ControlPoint) Seek(org.fourthline.cling.support.avtransport.callback.Seek)

Example 12 with ActionInvocation

use of org.fourthline.cling.model.action.ActionInvocation in project BeyondUPnP by kevinshine.

the class PlaybackCommand method setVolume.

public static void setVolume(int newVolume) {
    Device device = SystemManager.getInstance().getSelectedDevice();
    //Check selected device
    if (device == null)
        return;
    Service rcService = device.findService(SystemManager.RENDERING_CONTROL_SERVICE);
    if (rcService != null) {
        ControlPoint cp = SystemManager.getInstance().getControlPoint();
        cp.execute(new SetVolume(rcService, newVolume) {

            @Override
            public void success(ActionInvocation invocation) {
                Log.i(TAG, "SetVolume success.");
            }

            @Override
            public void failure(ActionInvocation invocation, UpnpResponse operation, String defaultMsg) {
                Log.e(TAG, "SetVolume failure.");
            }
        });
    }
}
Also used : UpnpResponse(org.fourthline.cling.model.message.UpnpResponse) SetVolume(org.fourthline.cling.support.renderingcontrol.callback.SetVolume) Device(org.fourthline.cling.model.meta.Device) ActionInvocation(org.fourthline.cling.model.action.ActionInvocation) Service(org.fourthline.cling.model.meta.Service) ControlPoint(org.fourthline.cling.controlpoint.ControlPoint)

Example 13 with ActionInvocation

use of org.fourthline.cling.model.action.ActionInvocation in project libresonic by Libresonic.

the class ClingRouter method deletePortMappingImpl.

private void deletePortMappingImpl(Service connectionService, int port) throws Exception {
    final Semaphore gotReply = new Semaphore(0);
    upnpService.getControlPoint().execute(new PortMappingDelete(connectionService, createPortMapping(port)) {

        @Override
        public void success(ActionInvocation invocation) {
            gotReply.release();
        }

        @Override
        public void failure(ActionInvocation invocation, UpnpResponse response, String defaultMsg) {
            gotReply.release();
        }
    });
    gotReply.acquire();
}
Also used : UpnpResponse(org.fourthline.cling.model.message.UpnpResponse) ActionInvocation(org.fourthline.cling.model.action.ActionInvocation) PortMappingDelete(org.fourthline.cling.support.igd.callback.PortMappingDelete) Semaphore(java.util.concurrent.Semaphore)

Aggregations

ActionInvocation (org.fourthline.cling.model.action.ActionInvocation)13 UpnpResponse (org.fourthline.cling.model.message.UpnpResponse)13 Device (org.fourthline.cling.model.meta.Device)11 Service (org.fourthline.cling.model.meta.Service)11 ControlPoint (org.fourthline.cling.controlpoint.ControlPoint)10 Message (android.os.Message)4 Semaphore (java.util.concurrent.Semaphore)2 Play (org.fourthline.cling.support.avtransport.callback.Play)2 Stop (org.fourthline.cling.support.avtransport.callback.Stop)2 SystemManager (com.kevinshen.beyondupnp.core.SystemManager)1 UnknownHostException (java.net.UnknownHostException)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 UDN (org.fourthline.cling.model.types.UDN)1 GetMediaInfo (org.fourthline.cling.support.avtransport.callback.GetMediaInfo)1 GetPositionInfo (org.fourthline.cling.support.avtransport.callback.GetPositionInfo)1 GetTransportInfo (org.fourthline.cling.support.avtransport.callback.GetTransportInfo)1 Pause (org.fourthline.cling.support.avtransport.callback.Pause)1 Seek (org.fourthline.cling.support.avtransport.callback.Seek)1 SetAVTransportURI (org.fourthline.cling.support.avtransport.callback.SetAVTransportURI)1 Browse (org.fourthline.cling.support.contentdirectory.callback.Browse)1