ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Revision:
49:b9eb462f36a9
Parent:
48:c7ee67edcf1d
Child:
50:9ecaa144d1f3
--- a/dcs-sdk-java-master/app/src/main/java/com/baidu/duer/dcs/framework/DeviceModuleFactory.java	Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 2017 Baidu, Inc. All Rights Reserved.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.baidu.duer.dcs.framework;
-
-import com.baidu.duer.dcs.devicemodule.alerts.AlertsDeviceModule;
-import com.baidu.duer.dcs.devicemodule.audioplayer.AudioPlayerDeviceModule;
-import com.baidu.duer.dcs.devicemodule.playbackcontroller.PlaybackControllerDeviceModule;
-import com.baidu.duer.dcs.devicemodule.screen.ScreenDeviceModule;
-import com.baidu.duer.dcs.devicemodule.speakcontroller.SpeakerControllerDeviceModule;
-import com.baidu.duer.dcs.devicemodule.system.SystemDeviceModule;
-import com.baidu.duer.dcs.devicemodule.system.message.SetEndPointPayload;
-import com.baidu.duer.dcs.devicemodule.system.message.ThrowExceptionPayload;
-import com.baidu.duer.dcs.devicemodule.voiceinput.VoiceInputDeviceModule;
-import com.baidu.duer.dcs.devicemodule.voiceoutput.VoiceOutputDeviceModule;
-import com.baidu.duer.dcs.http.HttpConfig;
-import com.baidu.duer.dcs.systeminterface.IMediaPlayer;
-import com.baidu.duer.dcs.systeminterface.IPlatformFactory;
-import com.baidu.duer.dcs.systeminterface.IPlaybackController;
-import com.baidu.duer.dcs.systeminterface.IWebView;
-import com.baidu.duer.dcs.util.LogUtil;
-
-/**
- * 创建语音输入、语音输出、扬声器、音频播放器、播放控制、闹钟、屏幕显示和系统等deviceModule
- * <p>
- * Created by wuruisheng on 2017/6/15.
- */
-public class DeviceModuleFactory {
-    private static final String TAG = DeviceModuleFactory.class.getSimpleName();
-    private final IDeviceModuleHandler deviceModuleHandler;
-    private final IMediaPlayer dialogMediaPlayer;
-
-    private VoiceInputDeviceModule voiceInputDeviceModule;
-    private VoiceOutputDeviceModule voiceOutputDeviceModule;
-    private SpeakerControllerDeviceModule speakerControllerDeviceModule;
-    private AudioPlayerDeviceModule audioPlayerDeviceModule;
-    private AlertsDeviceModule alertsDeviceModule;
-    private SystemDeviceModule systemDeviceModule;
-    private PlaybackControllerDeviceModule playbackControllerDeviceModule;
-    private ScreenDeviceModule screenDeviceModule;
-
-    // 数字越大,优先级越高,播放优先级
-    private enum MediaChannel {
-        SPEAK("dialog", 3),
-        ALERT("alert", 2),
-        AUDIO("audio", 1);
-
-        private String channelName;
-        private int priority;
-
-        MediaChannel(String channelName, int priority) {
-            this.channelName = channelName;
-            this.priority = priority;
-        }
-    }
-
-    public DeviceModuleFactory(final IDeviceModuleHandler deviceModuleHandler) {
-        this.deviceModuleHandler = deviceModuleHandler;
-        dialogMediaPlayer = deviceModuleHandler.getMultiChannelMediaPlayer()
-                .addNewChannel(MediaChannel.SPEAK.channelName, MediaChannel.SPEAK.priority);
-    }
-
-
-    public void createVoiceInputDeviceModule() {
-        /*
-         * 传入VoiceOutput的MediaPlayer,因为根据dcs协议的规范
-         * 对话通道:
-         * 对应语音输入(Voice Input)和语音输出(Voice Output)端能力;
-         * 用户在语音请求时,或者设备在执行Speak指令进行播报时,对话通道进入活跃状态
-         */
-        voiceInputDeviceModule = new VoiceInputDeviceModule(
-                dialogMediaPlayer, deviceModuleHandler.getMessageSender(),
-                deviceModuleHandler.getPlatformFactory().getVoiceInput(),
-                deviceModuleHandler.getDialogRequestIdHandler(),
-                deviceModuleHandler.getResponseDispatcher());
-        deviceModuleHandler.addDeviceModule(voiceInputDeviceModule);
-    }
-
-    public VoiceInputDeviceModule getVoiceInputDeviceModule() {
-        return voiceInputDeviceModule;
-    }
-
-    public void createVoiceOutputDeviceModule() {
-        voiceOutputDeviceModule = new VoiceOutputDeviceModule(dialogMediaPlayer,
-                deviceModuleHandler.getMessageSender());
-        voiceOutputDeviceModule.addVoiceOutputListener(new VoiceOutputDeviceModule.IVoiceOutputListener() {
-            @Override
-            public void onVoiceOutputStarted() {
-                LogUtil.d(TAG, "DcsResponseBodyEnqueue-onVoiceOutputStarted ok ");
-                deviceModuleHandler.getResponseDispatcher().blockDependentQueue();
-            }
-
-            @Override
-            public void onVoiceOutputFinished() {
-                LogUtil.d(TAG, "DcsResponseBodyEnqueue-onVoiceOutputFinished ok ");
-                deviceModuleHandler.getResponseDispatcher().unBlockDependentQueue();
-            }
-        });
-
-        deviceModuleHandler.addDeviceModule(voiceOutputDeviceModule);
-    }
-
-    public void createSpeakControllerDeviceModule() {
-        BaseMultiChannelMediaPlayer.ISpeakerController speakerController =
-                deviceModuleHandler.getMultiChannelMediaPlayer().getSpeakerController();
-        speakerControllerDeviceModule =
-                new SpeakerControllerDeviceModule(speakerController,
-                        deviceModuleHandler.getMessageSender());
-        deviceModuleHandler.addDeviceModule(speakerControllerDeviceModule);
-    }
-
-    public void createAudioPlayerDeviceModule() {
-        IMediaPlayer mediaPlayer = deviceModuleHandler.getMultiChannelMediaPlayer()
-                .addNewChannel(MediaChannel.AUDIO.channelName,
-                        MediaChannel.AUDIO.priority);
-        audioPlayerDeviceModule = new AudioPlayerDeviceModule(mediaPlayer,
-                deviceModuleHandler.getMessageSender());
-        deviceModuleHandler.addDeviceModule(audioPlayerDeviceModule);
-    }
-
-    public AudioPlayerDeviceModule getAudioPlayerDeviceModule() {
-        return audioPlayerDeviceModule;
-    }
-
-    public void createAlertsDeviceModule() {
-        IMediaPlayer mediaPlayer = deviceModuleHandler.getMultiChannelMediaPlayer()
-                .addNewChannel(MediaChannel.ALERT.channelName,
-                        MediaChannel.ALERT.priority);
-        alertsDeviceModule = new AlertsDeviceModule(mediaPlayer,
-                deviceModuleHandler.getPlatformFactory().createAlertsDataStore(),
-                deviceModuleHandler.getMessageSender(),
-                deviceModuleHandler.getPlatformFactory().getMainHandler());
-
-        alertsDeviceModule.addAlertListener(new AlertsDeviceModule.IAlertListener() {
-            @Override
-            public void onAlertStarted(String alertToken) {
-            }
-        });
-
-        deviceModuleHandler.addDeviceModule(alertsDeviceModule);
-    }
-
-    public void createSystemDeviceModule() {
-        systemDeviceModule = new SystemDeviceModule(deviceModuleHandler.getMessageSender());
-        systemDeviceModule.addModuleListener(new SystemDeviceModule.IDeviceModuleListener() {
-            @Override
-            public void onSetEndpoint(SetEndPointPayload endPointPayload) {
-                if (null != endPointPayload) {
-                    String endpoint = endPointPayload.getEndpoint();
-                    if (null != endpoint && endpoint.length() > 0) {
-                        HttpConfig.setEndpoint(endpoint);
-                    }
-                }
-            }
-
-            @Override
-            public void onThrowException(ThrowExceptionPayload throwExceptionPayload) {
-                LogUtil.v(TAG, throwExceptionPayload.toString());
-            }
-        });
-        deviceModuleHandler.addDeviceModule(systemDeviceModule);
-    }
-
-    public SystemDeviceModule getSystemDeviceModule() {
-        return systemDeviceModule;
-    }
-
-    public SystemDeviceModule.Provider getSystemProvider() {
-        return systemDeviceModule.getProvider();
-    }
-
-    public void createPlaybackControllerDeviceModule() {
-        IPlaybackController playback = deviceModuleHandler.getPlatformFactory().getPlayback();
-        playbackControllerDeviceModule = new PlaybackControllerDeviceModule(playback,
-                deviceModuleHandler.getMessageSender(), alertsDeviceModule);
-        deviceModuleHandler.addDeviceModule(playbackControllerDeviceModule);
-    }
-
-    public void createScreenDeviceModule() {
-        IWebView webView = deviceModuleHandler.getPlatformFactory().getWebView();
-        screenDeviceModule = new ScreenDeviceModule(webView, deviceModuleHandler.getMessageSender());
-        deviceModuleHandler.addDeviceModule(screenDeviceModule);
-    }
-
-    public interface IDeviceModuleHandler {
-        IPlatformFactory getPlatformFactory();
-
-        DialogRequestIdHandler getDialogRequestIdHandler();
-
-        IMessageSender getMessageSender();
-
-        BaseMultiChannelMediaPlayer getMultiChannelMediaPlayer();
-
-        void addDeviceModule(BaseDeviceModule deviceModule);
-
-        DcsResponseDispatcher getResponseDispatcher();
-    }
-}