关于接入百度语音的总结

百度语音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学习:)

时间: 2024-10-24 08:24:45

关于接入百度语音的总结的相关文章

接入百度语音SDK的步骤

1.导入依赖库 SystemConfiguration.framework AudioToolbox.framework UIkit.framework AVFoundation.framework Foundation.framework libz.tbd Security.framework QuartzCore.framework CoreText.framework GLKit.framework OpenGLES.framework CoreLocation.framework CFN

【Android语音合成TTS】百度语音接入方法,和使用技巧详解

请尊重他人的劳动成果,转载请注明出处:[Android语音合成TTS]百度语音接入方法,和使用技巧详解 Ps. 依托于百度开放云,百度语音为合作伙伴提供了业界领先.永久免费的语音技术服务,目前已上线的服务包括语音识别.语义解析.语音合成,后续会继续带来开放资源.多轮对话等技术服务:通过SDK.REST API及离线开发包等多种服务方式,满足不同开发者的开发需求. 目前百度语音提供免费的语音接入,语音合成质量尚可,但还没开放离线TTS. 服务接入流程 具体详情可查看:http://yuyin.ba

QT调用百度语音REST API实现语音合成

QT调用百度语音REST API实现语音合成 1.首先点击点击链接http://yuyin.baidu.com/docs/tts 点击access_token,获取access_token,里面有详细步骤,不再赘述 记下链接,等会在QT程序中会用到,tex后面跟要转换成语音的文字,tok后面是刚获得的access_token 2.打开Qt Creator,新建一个QWidget应用程序,绘制界面如下 3.获取语音按钮槽函数如下 void Widget::on_pushButton_clicked

树莓派 百度语音 智能家居小助手

大体思路(程序写的有点乱,只是大体框架,还有好多坑留着慢慢填) 树莓派3通过USB声卡录音 ==>> 录音传给百度语音识别 ==>> 返回txt文本 ==>> IF TXT=操作智能家居的语句 THEN 执行相应动作 ELSE 将txt文本提交tuling123 ==>> 返回txt ==>> 传给百度语音文字转语音==>> 树莓派播放 import uuid import base64 import json import urll

cocos2d-x学习笔记(五)接入百度联盟广告(Android横幅和插屏广告)

用cocos2d-x 3.4 开发了个小游戏,然后成功的接入百度联盟的广告,很多初学者也希望在自己开发的游戏接入广告盈利,所以我就以百度联盟的横幅和插屏广告为例,根据自己接入的步骤做个总结,希望对有需要的开发者有所帮助. 一.百度SDK包导入与权限的配置 1.导入jar包 下载百度联盟android版的SDK包,我下载的文件名Baidu_Union_SDK_Android.zip,解压后文件夹里面有个jar包Baidu_MobAds_SDK.jar,将该jar包复制到你工程的libs目录下(如果

Android 通过调用系统,如接口 谷歌语音、百度语音、科大讯飞语音等语音识别方法对话框

现在app在发展过程中会集成一些语音识别功能,不具有其自己的显影剂一般正在开发的语音识别引擎,所以在大多数情况下,它是选择一个成熟的语音识别引擎SDK集成到他们的app在. 平时,这种整合被分成两个,一种是直接调用SDK开发商设计了弹出框.互界面:另一种是开发人员仅仅利用SDK提供的语音识别服务,自己开发一个属于自己的交互设计. 本文介绍最简单直接调起弹出框的方法. 首先.測试机须要安装如谷歌语音.百度语音.讯飞语音等产品的语音软件,这时能够在系统设置界面的语言与输入处找到相关的语音识别功能列表

Unity3D学习笔记(一)接入百度移动广告(Android详细讲解)

开发了第一款Unity3D游戏后,想在上面接入广告赚点小钱,于是就在网上搜索如何接入百度移动广告.由于自己的经验不足,导致折腾了很久才将广告接入成功.下面就详细介绍下百度接入流程及注意事项. 一.下载百度Unity插件 百度移动广告SDK插件地址 http://github.com/unity-plugins/BaiDu-Unity-Plugin 二.把BaiduUnityPlugin.unitypackage插件包导入Unity工程(在这里我建议先新建一个新的工程,我直接在开发完成的项目中接入

Android 通过调用系统接口使用如 谷歌语音、百度语音、讯飞语音等语音识别对话框的方法

现在app的开发进程会集成一些语音识别功能,而一般开发者是不具备自己开发一套语音识别引擎的,因此大多数情况是选择一个已经成熟的语音识别引擎SDK集成到自己的app中. 通常情况下,这种集成分两种,一种是直接调用SDK为开发者设计好的弹出框,开发者不需要开发识别交互界面:还有一种是开发者只利用SDK提供的语音识别服务,自己开发一个属于自己的交互设计. 本文介绍最简单直接调起弹出框的方法. 首先,测试机需要安装如谷歌语音.百度语音.讯飞语音等产品的语音软件,这时可以在系统设置界面的语言与输入处找到相

REST实战——调用百度语音的云服务

RESTful REST(REpresentation State Transfer)描述了一个架构样式的网络系统,比如说web应用程序.它首次出现在2000年Roy Thomas Fielding的博士论文中,他是 HTTP 规范的主要编写者之一.REST指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计,即具有REST风格就是RESTful.在REST中,以资源为核心,任何事物,只要具有被引用的必要,就是一个资源.每个资源必须至少有一个统一资源标识符,即URI,URI既是资