我希望创建一个具有语音到文本的应用程序.
我使用RecognizerIntent了解这种能力:http://android-developers.blogspot.com/search/label/Speech%20Input
但是 - 我不希望弹出一个新的Intent,我想在我当前的应用程序中对某些点进行分析,我不希望它弹出一些声明它正在尝试录制你的声音.
有没有人知道如何最好地做到这一点.我或许正在考虑尝试Sphinx 4 - 但我不知道这是否可以在Android上运行 - 有没有人有任何建议或经验?!
我想知道我是否可以在这里更改代码,可能不会打扰显示UI或按钮,只是进行处理:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/的API /应用程序/ VoiceRecognition.html
干杯,
我的应用使用其他(我的)应用提供的服务.我使用的绑定的服务机智Messenger访问和与它(和,因为它是一个不同的应用程序,它也是一个远程服务)进行通信.
当我打电话bindService了适当的意图,并调用返回false(如当APK提供服务不在身边预期),我从文档和示例代码假设,那我就不需要unbind了ServiceConnection.但是,当我在我的Galaxy Nexus(Jelly Bean)设备上这样做时,我ServiceConnectionLeaked在完成时得到了众所周知的信息Activity.
我通过这样做来挽救这一点
if (!ctxt.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE)) {
try {
ctxt.unbindService(serviceConnection);
} catch (Throwable t) {}
// Clean up
return;
}
// Store serviceConnection for future use
Run Code Online (Sandbox Code Playgroud)
我很好奇:我是否只是遗漏了文档中的内容,是否应该以这种方式工作?我添加了try ... catch以确保即使此行为在其他设备或Android版本上确实不同,我的应用程序也不会(负面)受其影响.
我有一个带子模块的项目a:jar,需要一组不同的依赖项,具体取决于它编译的平台.所有平台的代码都是相同的.例如,在Android上,httpcomponents库已经与操作系统捆绑在一起,而我必须将其包含在J2SE环境的构建中.我还有另一个子模块,它将几个子模块及其依赖项组装到一个存档中.如何可靠地配置程序集子模块,获取为各个平台编译的所有子模块及其适用于该平台的依赖项?
我尝试使用配置文件来创建a:jar:android和a:jar:j2se.但是,声明对其中一个的依赖会导致程序集中出现奇怪的依赖关系.即,dependency:tree汇编项目有时会包含依赖关系a:jar:j2se(无论我是否声明在组件中使用a:jar:androidor a:jar:j2se),有时还包括另一个.在我更新a本地存储库中的jar后,它经常更改.切换装配项目还使用配置文件.
我可以通过将相同的依赖项应用于各个子模块配置文件所需的程序集项目的配置文件来解决这个问题.但是,由于我必须在POM中重复自己,所以可能还有更多的方法来实现这一目标.因为我对maven很新,我想知道它是什么?我不想复制代码(因为代码保持不变会更加重复)并且我不喜欢复制POM的部分因为版本升级而改变它们会变得复杂.
一些具体材料:来自a:jarPOM的依赖:
<dependencies>
.....
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.0.1</version>
<scope>compile</scope>
<!-- Exclusion in the common part, they are provided in the profiles from different sources -->
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
....
</exclusions>
</dependency>
</dependencies>
<profiles>
<profile>
<id>android</id>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>1.6_r2</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
<profile>
<id>java</id>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.0.1</version>
<scope>compile</scope>
</dependency>
<dependency> …Run Code Online (Sandbox Code Playgroud) 我正在为XCode 4.6中的iOS开发.我正在为服务编写一个库,并使用boost来启动线程.我的一个方法看起来像这样:
void Service::start(boost::shared_ptr<ResultListener> listener) {
boost::future<bool> con = boost::make_future(true);
listener->onConnected(); // Works
boost::future<bool> initDone = con.then([&, listener](boost::future<bool>& connected) {
listener->onConnected(); // Works
if (!connected.get()) {
listener->onError("...");
return false;
}
listener->onError("..."); // EXC_BAD_ACCESS
/* ... */
return true;
});
}
Run Code Online (Sandbox Code Playgroud)
在设备上执行此操作时,我会EXC_BAD_ACCESS在标记的行处获得.我对此感到非常惊讶,因为第一次调用onConnected是成功的,即使我在该onError调用之前添加了一个调用if也是有效的.
由于对C++缺乏经验,我会对每一条信息感到高兴,这些信息是关于什么原因,如何调试它以及如何在下次发生此问题时如何发现.此外,我不太确定哪些信息是相关的.我所知道的可能与我迄今为止所发现的相关,以下可能是:ResultListener并且Service是boost::noncopyable.我检查了shared_ptr(使用use_count)的引用计数,它在继续中增加.我正在使用boost 1.53.这个方法就是这样调用的
Servuce reco(/* ... */);
boost::shared_ptr<foo> f(new foo());
reco.start(f);
Run Code Online (Sandbox Code Playgroud)
foo是一个简单的类,std::cout如果调用一个方法,它只会打印.
编辑:进一步窥探让我检查get()调用,我发现以下代码future.hpp正在执行:
// …Run Code Online (Sandbox Code Playgroud) 我有两个变量名称var h1,var h2
每个都有一些数字.我想获得另一个变量的最高价值