zoukankan      html  css  js  c++  java
  • 关于接入百度语音的总结

    百度语音SDK的接入总算告一段落,感觉接SDK是件很麻烦的事,接过的同学都知道!先来谈一谈接SDK麻烦的二三事:)

    接入的平台一般都是ios或者android,对于wp这种平台还没接过,不过表示前面两个已经暗坑无数,如果要接第三个平台感觉想死的心都有!

    Android的坑其实最大的问题就是不能调试C++代码,所以一旦发现C++代码有问题就需要修改,并且需要重新NDK编译,这部比较耗时;而且我用的是

    eclipse所以每次编译到生成最终包需要一定的时间。

    Ios的坑其实主要来自场外因素,比如哪天更新了Xcode或Ios的版本就有可能发生证书过期什么乱七八糟的问题。

    关于百度语音接入Ios的总结

    上篇关于语音的博文其实已经总结了关于百度Android的识别,接入相对较简单,但是在接入ios的过程中遇到了一个问题,

    这个问题困扰了我很多天,就是在语音识别后,游戏的声音(背景音乐和音效)消失了,但游戏能够正常的运行,刚开始以为自己调用的方式不对,

    就使劲查是否在识别完后没有关闭服务,后来利用排除法发现只要调用接口cancel,音乐还是消失,且游戏在cancel的过程中是做了音乐的恢复,所以

    不去考虑上层逻辑代码的问题。

    后来google很久 什么播放设备被强占,线程被阻塞,或者是cocos2dx底层的语音处理逻辑有问题(还找最新版本的代码替换)结果都解决不了问题,

    后来看了很多资料,看到一些共同的点都会涉及到ios底层的音频(openal),下面这个网站是关于其的基础知识:

    http://msching.github.io/blog/2014/07/07/audio-in-ios/

    其中提到了对应AudioSession的设置:

    那是就想是不是百度在识别完后需要我们自己手动的把AudioSession的状态设置一下,后来自己试了一下发现也没什么用!!!

    哈哈,其实那时已经感觉黔驴技穷了,索性就重新翻阅了一遍百度给的文档,发现了下列代码:

    1 // 定制SDK是否对AudioSession进行操作,如果外部需要操作AudioSession,应当通过此接口禁止SDK对AudioSession进行操作
    2 #define BDVR_CONFIG_KEY_DISABLE_AUDIO_SESSION_CONTROL @"disable_audio_session_control"
    3 - (void)setConfig:(NSString *)key withFlag:(BOOL)flag;

    当时就想,肯定就需要将其它禁止调用,结果发现识别完后游戏音乐就出来了(ios8之后再识别后会将应用静音),但是遇到一个问题音乐的声音变小了,就去查了资料,发现

    在识别完后游戏还是处于录音状态,所以需要重新设置AudioSession的状态,代码如下:

     1  //将声音模式调回正常状态
     2   AVAudioSession *audioSession = [AVAudioSession sharedInstance];
     3   NSError *err = nil;
     4   [audioSession setCategory :AVAudioSessionCategoryAmbient error:&err];
     5   if(err)
     6   {
     7          //        NSOSStatusErrorDomain
     8          NSLog(@"audioSession: %@  code = %d %@", [err domain], [err code], [[err userInfo] description]);
     9                 return;
    10    }

    以上就是最近几星期关于sdk的接入内容,后续更新unity学习:)

     
  • 相关阅读:
    [ZOJ 4062][2018ICPC青岛站][Plants vs. Zombies]
    [Wannafly挑战赛28][B msc和mcc][预处理+枚举]
    [codeforces Mail.Ru Cup 2018 Round 1 D][ xor 操作]
    [codeforces round#475 div2 ][C Alternating Sum ]
    [zoj4045][思维+dfs]
    [zoj4046][树状数组求逆序(强化版)]
    费马大定理以及求解a^2+b^2=c^2的奇偶数列法则
    【HDOJ3567】【预处理bfs+映射+康拓展开hash】
    POJ1279 Art Gallery 多边形的核
    第八周 Leetcode 44. Wildcard Matching 水题 (HARD)
  • 原文地址:https://www.cnblogs.com/yuyaonorthroad/p/6195507.html
Copyright © 2011-2022 走看看