GithubHelp home page GithubHelp logo

dcs-sdk-java's Introduction

DCS SDK(Java)开发者指南

声明

本开发指南为DuerOS Android DCS SDK v1.0的版本说明,该工程只做为dcs协议示例使用。本开源版本自2018-09-04起不再迭代维护。 从降低开发者接入成本、减少不可控问题出现的角度出发,DuerOS未来将主推SDK集成方案。

DuerOS DCS Android SDK v1.6.3.0及以后的版本将在百度DuerOS开放平台提供下载链接: https://dueros.baidu.com/didp/doc/dueros-conversational-service/sdk_markdown

DCS协议

DCS协议是DuerOS服务端与设备端之间的通讯协议,是一套把DuerOS的智能语音交互能力向所有设备开放的API,了解详情请看DCS协议文档

摘要

DCS SDK提供DCS协议在设备端的实现,旨在降低设备接入DuerOS的开发成本。DCS SDK是完整的Sample App,可以直接在目标设备运行,并且源代码全部开源,开发者可以基于源码进行二次开发。

本文档介绍的DCS SDK(Java)是Java版本的实现,该版本目前支持Android系统。

1-前置条件

a.完成注册百度账号、开发者认证和产品创建(选择手机场景和Android平台)后,请保存client_id和client_secret

具体参考控制台接入流程

b.在百度开发者中心配置OAuth的授权回调页

  1. 到DuerOS开放平台控制台: https://dueros.baidu.com/didp/product/listview
  2. 点击所创建产品的“编辑”按钮,按钮在右侧
  3. 点击OAUTH CONFIG URL,到百度开发者平台控制台
  4. 在开发者平台控制台,点击左侧“安全设置”
  5. 在“授权回调页”输入框中输入"bdconnect://cancel,bdconnect://success"(不带双引号)
  6. 点击页面下方“确定”按钮

c.开发环境

  • Android Studio 2.2+
  • Gradle 2.2+
  • Android SDK 5.0+ (支持http/2)
  • JDK 1.6+

2-克隆项目

git clone https://github.com/dueros/dcs-sdk-java.git

3-运行

a.通过Android Studio找到DcsSampleOAuthActivity.java,利用上述client_id进行替换

b.运行(Android真机)

c.百度账号登录

4-唤醒

说“小度小度”,成功唤醒后进入“录音中”状态,如下图:

5-和小度对话

a.通过唤醒或者单击“点击说话”进入录音状态, 问“北京天气怎么样”,DuerOS后端将发送stopListen指令,同时返回speak指令,播报北京天气。

b.问“播放刘若英的歌”, 返回play指令播放歌,可以从界面上进行“播放”、“暂停”、“上一首”和“下一首”操作。

6 SDK结构

dcs-sdk-java's People

Contributors

ateammac2014 avatar kunluzhu avatar mayinjian avatar shenguanghao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dcs-sdk-java's Issues

SDK 是否能支持流的形式

我喜欢能设置多种音频输入模式,可以实时传入每一帧音频,而不一定要把音频来源写死为单mic

服务器有故障吗?

这两天突然无法连接,测试了一下例子App,也显示登陆成功,但识别失败。log中显示:
okhttp3.internal.http2.StreamResetException: stream was reset: CANCEL 这是什么原因呢?

11-03 09:20:28.799 3741-12501/com.baidu.duer.dcs D/DCS-HttpLog: request: POST [https://dueros-h2.baidu.com/dcs/v1/events] null
Content-Type: multipart/form-data boundary=dumi-boundory
dueros-device-id: ffffffff-e77c-2c93-0000-000054369570
debug: 0
Authorization: Bearer 23.1736c34e78d47b79d3cb54f025d133f9.2592000.1512213147.3222254029-10103632
11-03 09:20:28.846 3741-14629/com.baidu.duer.dcs D/wakeup: WakeUpDecode ret=-1
11-03 09:20:28.846 3741-14629/com.baidu.duer.dcs D/wakeup: WakeUpDecode senArr=
11-03 09:20:28.846 3741-14629/com.baidu.duer.dcs D/wakeup: WakeUpDecode wakeWord_frame_len_invoke=-1
11-03 09:20:28.846 3741-14629/com.baidu.duer.dcs D/wakeup: WakeUpDecode is_confidence_invoke=1
11-03 09:20:28.847 3741-14629/com.baidu.duer.dcs D/wakeup: WakeUpDecode voice_offset_invoke=175
11-03 09:20:28.847 3741-14629/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup after wakeUpDecode over !!
11-03 09:20:28.872 3741-14629/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup after linkedBlockingDeque size:0
11-03 09:20:42.560 3741-3741/com.baidu.duer.dcs D/DCS-DcsClient: onError,
okhttp3.internal.http2.StreamResetException: stream was reset: CANCEL
at okhttp3.internal.http2.Http2Stream.checkOutNotClosed(Http2Stream.java:567)
at okhttp3.internal.http2.Http2Stream$FramingSink.emitFrame(Http2Stream.java:501)
at okhttp3.internal.http2.Http2Stream$FramingSink.write(Http2Stream.java:481)
at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:171)
at okio.RealBufferedSink.writeAll(RealBufferedSink.java:99)
at com.baidu.duer.dcs.framework.message.DcsStreamRequestBody.writeTo(DcsStreamRequestBody.java:48)
at okhttp3.MultipartBody.writeOrCountBytes(MultipartBody.java:173)
at okhttp3.MultipartBody.writeTo(MultipartBody.java:114)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:62)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at com.baidu.duer.dcs.http.intercepter.LoggingInterceptor.intercept(LoggingInterceptor.java:42)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
11-03 09:20:42.566 3741-3741/com.baidu.duer.dcs D/DCS-VoiceInputDeviceModule: onFailed,errorMessage:stream was reset: CANCEL
11-03 09:20:42.571 3741-3741/com.baidu.duer.dcs D/DCS-DcsDemoActivity: onFailed-errorMessage:stream was reset: CANCEL
11-03 09:20:42.579 3741-16029/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup wakeUpDecode start
11-03 09:20:42.582 3741-3741/com.baidu.duer.dcs D/DCS-BaseMultiChannelMediaPlayer: ChannelMediaPlayer-setActive-isActive:false
11-03 09:20:42.582 3741-15180/com.baidu.duer.dcs D/DCS-AudioVoiceInputThread: closed
11-03 09:20:42.589 3741-12461/com.baidu.duer.dcs D/DCS-OkHttpRequestImpl: doGetPingAsync
11-03 09:20:42.594 3741-15180/com.baidu.duer.dcs D/DCS-AudioVoiceInputThread: onWriteFinished
11-03 09:20:42.598 3741-12501/com.baidu.duer.dcs D/DCS-HttpLog: request: GET [https://dueros-h2.baidu.com/dcs/v1/ping] null
Content-Type: multipart/form-data boundary=dumi-boundory
dueros-device-id: ffffffff-e77c-2c93-0000-000054369570
debug: 0
Authorization: Bearer 23.1736c34e78d47b79d3cb54f025d133f9.2592000.1512213147.3222254029-10103632

关于掉线问题(可能是)

今天测试之前的demo,刚启动应用的时候可以成功进行语音交互,但如果我在几分钟(甚至一分钟不到)内没有连续的发出语音指令,然后再重新发送语音指令时,demo不会有任何响应(可以使用唤醒词唤醒,当然这时在本地做的)。
在Debug过程中也发现,服务器没有回传任何数据,请问这是什么原因?是本地的原因吗?

没有声音

叫播放音乐,没有声音
问天气怎么样,没有数据显示

PayloadConfig添加RenderCardPayload

源代码里面这个地方没有添加RenderCardPayload,
所以在

deviceModuleFactory.getScreenDeviceModule().addRenderListener(new 
  ScreenDeviceModule.IRenderListener() {
            @Override
            public void onRenderDirective(Directive directive) {
                Log.i(TAG, "传回的screen数据: "+directive.rawMessage);
                if(directive.getPayload() instanceof RenderCardPayload){
                    RenderCardPayload rcp =  (RenderCardPayload)directive.getPayload();
                    Log.i(TAG, "rcpType: "+rcp.type);
                    if(rcp.type == RenderCardPayload.Type.StandardCard){
                        //do something
                    }
                }
            }
        });

会报错
在com.baidu.duer.dcs.framework.message.PayloadConfig里面添加代码

private PayloadConfig() {
        payloadClass = new HashMap<>();

        // AudioInputImpl
        ...
        // Screen
        namespace = com.baidu.duer.dcs.devicemodule.screen.ApiConstants.NAMESPACE;
        name = com.baidu.duer.dcs.devicemodule.screen.ApiConstants.Directives.HtmlView.NAME;
        insertPayload(namespace, name, HtmlPayload.class);
        name = com.baidu.duer.dcs.devicemodule.screen.ApiConstants.Directives.RenderVoiceInputText.NAME;
        insertPayload(namespace, name, RenderVoiceInputTextPayload.class);
        //添加的代码
        name = com.baidu.duer.dcs.devicemodule.screen.ApiConstants.Directives.RenderCard.NAME;
        insertPayload(namespace, name, RenderCardPayload.class);
    }

请问这是什么错误

java.lang. NoClassDefFoundError Failed resolution of: Lcom/baidu/duer/dcsframewr
decoder/JL ayerDecoderlmpl;
at com.baidu.duer.dcs.frameworDClie (DcsClient.java:130)
a4 comhadaurat com.bai duer.dcs..framework DcsEramework teDesClientDcs Framework,java:14)
at com.baidu.duer.dcs framework.DcsFramewor
at
com.baidu.duer.dcs androidapp.DcsSampleMainActiimAty.java:137)
com.baidu.duer.ds androidapp.DcsSampleMainActivi onCreate(DcsSampleMainActivitaa:84)
at android.app.Activityitat android.app.Activity.performCrec
at android .app Instrume tation. calctivityOnCreatelnstrmi
at android.app.ActivityThreado .aunchActivity(ActivityThreadaat android.app.ActivityThread .handleL aunchActivity(ActivityTheda9at android.app.ActivityThread-r1Unknown Source:0)
at android.app.ActivityThreaddeecat android.os.Handler.dispatchMesse1at android.os.Looper.loop(L ooper.java:171)
at android.app.Activited main(ActivityThreadjav664at java.lang.reflectMo Method)
at com.android.internalosa
at com. android.internal os.Zygotelnit.mainZygotelnit.j8Caused by: java.lang.ClassNotFoundExcet Didn't find class
"com.baidu.duer.dcs ayerDecoderlmpl on path:
DexPathList[zip file "/data/app/com.baidu 5Mc-CNu-Tb2A==/base.apk",nativeibrarDire app/com.baidu.duer.dcs0T6P9_ .5Mc-CNu-Tb2A==/lib/arm, /system/ fake-libs, /data/ app/ com.baidu.duer.dcs-
RbOBT6PN9_ 5Mc-CNu-Tb2A==/base .apk! /armeabi, /system/lib, /system/vendor/lib]]
at dalvik. system. BaseDexClassl oader.findClass(BaseDeClass oader.java:125)at java.lang .ClassLoaderloadClass(ClassL oader.java:379)at java.lang.ClassLoader.loadClassClassLoadeaa... 18 more

反复打开关闭语音交互的界面,应用停止运行

5.1系统的手机反复打开关闭交互的界面,应用停止运行,logcat显示如下错误日志,7.0系统没有发现崩溃的情况

11-24 08:30:32.638 10344-10538/com.baidu.duer.dcs A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb0 in tid 10538 (Thread-954)
11-24 08:30:32.639 10344-10344/com.baidu.duer.dcs E/MediaPlayer: stop called in state 1
11-24 08:30:32.639 10344-10344/com.baidu.duer.dcs E/MediaPlayer: error (-38, 0)
11-24 08:30:32.641 10344-10344/com.baidu.duer.dcs E/MediaPlayer: stop called in state 1
11-24 08:30:32.641 10344-10344/com.baidu.duer.dcs E/MediaPlayer: error (-38, 0)
11-24 08:30:32.649 10344-10344/com.baidu.duer.dcs W/MediaPlayer: mediaplayer went away with unhandled events
11-24 08:30:32.649 10344-10344/com.baidu.duer.dcs W/MediaPlayer: mediaplayer went away with unhandled events
11-24 08:30:32.650 10344-10344/com.baidu.duer.dcs A/libc: heap corruption detected by dlfree
11-24 08:30:32.650 10344-10344/com.baidu.duer.dcs A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 10344 (.baidu.duer.dcs)

DCS Android4.4 报以下错误再次唤醒对话无效

DCS Android4.4 报以下错误再次唤醒对话无效
比如在播一首歌 ,再次唤醒对话无效了

javax.net.ssl.SSLException: Write error: ssl=0x77c38c10: I/O error during system call, Connection reset by peer
at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:731)
at okio.Okio$1.write(Okio.java:79)
at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:171)
at okio.RealBufferedSink.write(RealBufferedSink.java:41)
at okhttp3.internal.http1.Http1Codec$ChunkedSink.write(Http1Codec.java:325)
at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:171)
at okio.RealBufferedSink.writeAll(RealBufferedSink.java:99)
at com.baidu.duer.dcs.framework.message.DcsStreamRequestBody.writeTo(DcsStreamRequestBody.java:49)
at okhttp3.MultipartBody.writeOrCountBytes(MultipartBody.java:173)
at okhttp3.MultipartBody.writeTo(MultipartBody.java:114)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:62)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:120)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:185)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:135)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)

=======================================================================
01-18 10:05:55.594 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:55.664 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:55.704 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:55.774 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:55.844 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:55.914 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:55.964 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:56.034 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:56.104 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:56.174 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:56.214 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:56.294 1887-9909/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:05:56.324 1887-9909/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup wakeUpDecode ret:1
01-18 10:05:56.324 1887-9909/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup wakeUpDecode succeed !!
01-18 10:05:56.324 1887-9909/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup after wakeUpDecode over !!
01-18 10:05:56.334 1887-9909/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup after linkedBlockingDeque size:0
01-18 10:05:56.334 1887-1887/com.baidu.duer.dcs D/DCS-BaseMultiChannelMediaPlayer: ChannelMediaPlayer-setActive-isActive:true
01-18 10:05:56.334 1887-1887/com.baidu.duer.dcs D/DCS-BaseMultiChannelMediaPlayer: ChannelMediaPlayer-stop-channelName:dialog
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/AudioTrackPlayerImpl: currentFrame=0
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/AudioTrackPlayerImpl: playTime=0.0
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/AudioTrackPlayerImpl: stop-PlayState:2
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/AudioTrackPlayerImpl: stop-ok
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/DCS-BaseMultiChannelMediaPlayer: ListenerProxy onStopped del:dialog
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/DCS-BaseMultiChannelMediaPlayer: ListenerProxy onStopped after del :0
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/MediaPlayerImpl: mCurrentState = STOPPED
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs D/MediaPlayerImpl: mCurrentState = IDLE
01-18 10:05:56.344 1887-1887/com.baidu.duer.dcs E/logId: logId send stream start
01-18 10:05:56.354 1887-1887/com.baidu.duer.dcs D/time: 开始发语音
01-18 10:05:56.354 1887-1887/com.baidu.duer.dcs D/time: logid:de7f9317-32f8-4602-8575-938d4cb3bb2d
01-18 10:05:56.354 1887-1887/com.baidu.duer.dcs D/DCS-DcsDemoActivity: onStartRecord
01-18 10:05:56.394 1887-1887/com.baidu.duer.dcs D/dalvikvm: GC_FOR_ALLOC freed 602K, 18% free 4517K/5488K, paused 24ms, total 24ms
01-18 10:06:18.044 1887-1887/com.baidu.duer.dcs D/DCS-DcsClient: onError,
javax.net.ssl.SSLException: Write error: ssl=0x73c7fec0: I/O error during system call, Connection reset by peer
at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:731)
at okio.Okio$1.write(Okio.java:79)
at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:171)
at okio.RealBufferedSink.write(RealBufferedSink.java:41)
at com.baidu.dcs.okhttp3.internal.http1.Http1Codec$ChunkedSink.write(Http1Codec.java:327)
at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:171)
at okio.RealBufferedSink.writeAll(RealBufferedSink.java:99)
at com.baidu.duer.dcs.framework.message.DcsStreamRequestBody.writeTo(DcsStreamRequestBody.java:48)
at com.baidu.dcs.okhttp3.MultipartBody.writeOrCountBytes(MultipartBody.java:173)
at com.baidu.dcs.okhttp3.MultipartBody.writeTo(MultipartBody.java:114)
at com.baidu.dcs.okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:69)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:134)
at com.baidu.dcs.okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:134)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:109)
at com.baidu.dcs.okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:95)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:134)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:109)
at com.baidu.dcs.okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:134)
at com.baidu.dcs.okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:134)
at com.baidu.dcs.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:109)
at com.baidu.dcs.okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:206)
at com.baidu.dcs.okhttp3.RealCall$AsyncCall.execute(RealCall.java:145)
at com.baidu.dcs.okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
01-18 10:06:18.044 1887-1887/com.baidu.duer.dcs D/DCS-VoiceInputDeviceModule: onFailed,errorMessage:Write error: ssl=0x73c7fec0: I/O error during system call, Connection reset by peer
01-18 10:06:18.054 1887-1887/com.baidu.duer.dcs D/DCS-DcsDemoActivity: onFailed-errorMessage:Write error: ssl=0x73c7fec0: I/O error during system call, Connection reset by peer
01-18 10:06:18.054 1887-10062/com.baidu.duer.dcs I/DCS-WakeUpDecodeThread: wakeup wakeUpDecode start
01-18 10:06:18.054 1887-1887/com.baidu.duer.dcs D/DCS-DcsDemoActivity: onFinishRecord
01-18 10:06:18.054 1887-9943/com.baidu.duer.dcs D/DCS-AudioVoiceInputThread: closed
01-18 10:06:18.054 1887-1887/com.baidu.duer.dcs D/DCS-WakeUpImpl: wakeup wakeUpDecodeThread is Started !
01-18 10:06:18.054 1887-9943/com.baidu.duer.dcs D/DCS-AudioVoiceInputThread: onWriteFinished
01-18 10:06:18.054 1887-1887/com.baidu.duer.dcs D/DCS-BaseMultiChannelMediaPlayer: ChannelMediaPlayer-setActive-isActive:false
01-18 10:06:18.064 1887-1887/com.baidu.duer.dcs D/DCS-DcsDemoActivity: onFinishRecord
01-18 10:06:18.064 1887-1887/com.baidu.duer.dcs D/DCS-WakeUpImpl: wakeup wakeUpDecodeThread is Started !
01-18 10:06:18.114 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.184 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.234 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.304 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.374 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.444 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.504 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.554 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.624 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.694 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.764 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.814 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.884 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:18.954 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024
01-18 10:06:19.024 1887-10062/com.baidu.duer.dcs D/wakeup: WakeUpDecode data_ GetArrayLength=1024

项目编译后,无法使用真机运行,模拟器打开后不显示内容

下载项目到本地后,各种环境的配置、SDK、NDK、gradle等等,又涉及到翻墙,折腾了一天终于把项目跑起来,本身我是做前端架构的,第一次搞Android。

然后运行的时候,选择乐视的手机,提示不支持该系统,然后我创建了一个模拟器,模拟器打开以后,等了很久,没有画面,好像加载失败,控制台一切正常。

能否有一个清晰的文档说明。

模块缺少

applauncher extensions 等模块 都没有 添加, , 调用 方式为 打开qq ,打电话给133333333 等
后期是否有个时间计划 会 补充这些模块,

能不能在代码中写入帐号后直接登录

情况比较特殊,需要做一下没有屏幕的演示DEMO,因此无法输入百度帐号和密码。请问有没有办法,在代码中输入?
因为这个问题也研究了一下你们的源码,发现登录页面是用WebView直接调用的URL,然后在HTML页面中输入的账号和密码,后再返回一个成功或失败Url。所以有没有可能直接通过链接或地址传账号和密码验证呢?

Mac 上的Android Studio 编译不通过

Build command failed.

Error while executing '/Users/tramp/Library/Android/sdk/cmake/3.6.4111459/bin/cmake' with arguments {-H/Users/tramp/dcs-sdk-java/app -B/Users/tramp/dcs-sdk-java/app/.externalNativeBuild/cmake/debug/armeabi -GAndroid Gradle - Ninja -DANDROID_ABI=armeabi -DANDROID_NDK=/Users/tramp/Library/Android/sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/tramp/dcs-sdk-java/app/build/intermediates/cmake/debug/obj/armeabi -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/Users/tramp/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -DCMAKE_TOOLCHAIN_FILE=/Users/tramp/Library/Android/sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=21 -DCMAKE_CXX_FLAGS=-std=c++11 -frtti -fexceptions -I/src/main/cpp}

-- Configuring incomplete, errors occurred!

(include) CMakeLists.txt
Open File

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

Build command failed.

Error while executing '/Users/tramp/Library/Android/sdk/cmake/3.6.4111459/bin/cmake' with arguments {-H/Users/tramp/dcs-sdk-java/app -B/Users/tramp/dcs-sdk-java/app/.externalNativeBuild/cmake/release/armeabi -GAndroid Gradle - Ninja -DANDROID_ABI=armeabi -DANDROID_NDK=/Users/tramp/Library/Android/sdk/ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/tramp/dcs-sdk-java/app/build/intermediates/cmake/release/obj/armeabi -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/Users/tramp/Library/Android/sdk/cmake/3.6.4111459/bin/ninja -DCMAKE_TOOLCHAIN_FILE=/Users/tramp/Library/Android/sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=21 -DCMAKE_CXX_FLAGS=-std=c++11 -frtti -fexceptions -I/src/main/cpp}

-- Configuring incomplete, errors occurred!

(include) CMakeLists.txt
Open File

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

索尼L39t 4.2.2 初始化时抱错,无法使用

Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "libbdEASRAndroid.so" needed by "libwakeup.so"; caused by load_library(linker.cpp:745): library "libbdEASRAndroid.so" not found
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:535)

如何获取返回的结构化数据

我看官网列了很多json返回示例,请问在代码里如何使用啊,我不想使用demo的html页面,我想自定义view显示返回的数据,请提供下具体操作思路,谢谢了。

下载的android报错

请问这行报错怎么解决呢?

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.

误识别是否有阈值参数可以配置?

使用java的SDK,跑在手机上,问题如下:
定义了"救命"技能,每次听到这个关键字会触发一系列操作,比如说弹窗,测试中发现如果一大段话中包含这两个字,或者根本没有说这两个字也触发了操作,目前几率还比较大,请问是否有参数的阈值设置(严格度设置),即对于某一个命令的符合度达到百分之多少,才执行操作
唤醒,或者点击说话按钮后,在语速较慢时,经常话没有说完就结束录音进入识别了,是否有参数可以设置?

meizu(m2 note)手机不能用会报错,百度的登录界面显示不出来,怎么解决

02-16 20:13:25.158 28599-28599/com.baidu.duer.dcs W/System.err: java.io.IOException: open failed: ENOENT (No such file or directory)
02-16 20:13:25.158 28599-28599/com.baidu.duer.dcs W/System.err: at java.io.File.createNewFile(File.java:941)
02-16 20:13:25.158 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.FileUtil.appendStrToFile(FileUtil.java:98)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.LogUtil.writeLog(LogUtil.java:224)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.LogUtil.d(LogUtil.java:95)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.oauth.api.BaiduDialog$BdWebViewClient.onPageStarted(BaiduDialog.java:144)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.webview.chromium.WebViewContentsClientAdapter.onPageStarted(WebViewContentsClientAdapter.java:566)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:114)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at android.os.Handler.dispatchMessage(Handler.java:111)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at android.os.Looper.loop(Looper.java:194)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5869)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at java.lang.reflect.Method.invoke(Native Method)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at libcore.io.Posix.open(Native Method)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: at java.io.File.createNewFile(File.java:934)
02-16 20:13:25.159 28599-28599/com.baidu.duer.dcs W/System.err: ... 13 more
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: java.io.FileNotFoundException: /storage/emulated/0/DCS/LogAll.txt: open failed: ENOENT (No such file or directory)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at libcore.io.IoBridge.open(IoBridge.java:512)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at java.io.FileOutputStream.(FileOutputStream.java:87)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.FileUtil.appendStrToFile(FileUtil.java:106)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.LogUtil.writeLog(LogUtil.java:224)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.LogUtil.d(LogUtil.java:95)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.oauth.api.BaiduDialog$BdWebViewClient.onPageStarted(BaiduDialog.java:144)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.webview.chromium.WebViewContentsClientAdapter.onPageStarted(WebViewContentsClientAdapter.java:566)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:114)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at android.os.Handler.dispatchMessage(Handler.java:111)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at android.os.Looper.loop(Looper.java:194)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5869)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at java.lang.reflect.Method.invoke(Native Method)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
02-16 20:13:25.160 28599-28599/com.baidu.duer.dcs W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at libcore.io.Posix.open(Native Method)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at libcore.io.IoBridge.open(IoBridge.java:493)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: ... 14 more
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.BufferedWriter.close()' on a null object reference
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.FileUtil.appendStrToFile(FileUtil.java:114)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.LogUtil.writeLog(LogUtil.java:224)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.util.LogUtil.d(LogUtil.java:95)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at com.baidu.duer.dcs.oauth.api.BaiduDialog$BdWebViewClient.onPageStarted(BaiduDialog.java:144)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.webview.chromium.WebViewContentsClientAdapter.onPageStarted(WebViewContentsClientAdapter.java:566)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:114)
02-16 20:13:25.161 28599-28599/com.baidu.duer.dcs W/System.err: at android.os.Handler.dispatchMessage(Handler.java:111)
02-16 20:13:25.162 28599-28599/com.baidu.duer.dcs W/System.err: at android.os.Looper.loop(Looper.java:194)
02-16 20:13:25.162 28599-28599/com.baidu.duer.dcs W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5869)
02-16 20:13:25.162 28599-28599/com.baidu.duer.dcs W/System.err: at java.lang.reflect.Method.invoke(Native Method)
02-16 20:13:25.162 28599-28599/com.baidu.duer.dcs W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
02-16 20:13:25.162 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
02-16 20:13:25.162 28599-28599/com.baidu.duer.dcs W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

音乐播放不了?

你好:
我把整个sdk下载后,按照DCS SDK(Java)开发者指南进行配置,对话和唤醒都没问题,当问到:播放刘若英的歌,收到的回答是:我听快乐男声唱的,没有歌曲播放,这是怎么回事呢?

谢谢

说日历两个字返回的内容不全

开放平台端能力配置:
选择card ,resource全选,说日历返回文本内容如下
{
"header": {
"namespace": "ai.dueros.device_interface.screen",
"name": "RenderCard",
"messageId": "NWEzMzkzMTZhOGJlYg==",
"dialogRequestId": "a42c15dc-0a31-49b7-943d-b7310dc71aef"
},
"payload": {
"type": "TextCard",
"content": "为你找到日历",
"token": "eyJib3RfaWQiOiJ1cyIsInJlc3VsdF90b2tlbiI6IiIsImJvdF90b2tlbiI6Im51bGwifQ=="
}
}

没有任何关于日历的返回

在度秘上测试则会显示一张关于显示日历的图片

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.