小编Jos*_*osh的帖子

如何在其他Android应用需要时释放麦克风资源?

我已经实现了一个Android后台服务(基于Pocket Sphinx),可以在手机屏幕打开时持续监听,检测和发现某些关键字,然后做出相应的反应(对于domotic项目).但是,我的应用程序应始终具有较低的优先级,并且我希望它在任何其他应用程序需要使用时释放麦克风的资源.当应用程序 - 想要使用麦克风时,我可以接收任何系统意图或系统广播(以便我的服务可以释放它)吗?或者,有更好的方法或更好的做法吗?

当另一个应用想要访问麦克风时,这是我想避免的错误的日志:

AudioFocus  requestAudioFocus() from android.media.AudioManager@419c3908com.google.android.voicesearch.a.h@419c67b8
I/MicrophoneInputStream(32360): mic_starting com.google.android.speech.audio.w@41989a30
D/AudioHardwareALSA(277): openInputStream: devices 0x400000 format 0x1 channels 16 sampleRate 16000
E/AudioHardwareALSA(277): error:Input stream already opened for recording
E/AudioRecord(32360): Could not get audio input for record source 6
E/AudioRecord-JNI(32360): Error creating AudioRecord instance: initialization check failed.
E/AudioRecord-Java(32360): [ android.media.AudioRecord ] Error code -20 when initializing native AudioRecord object.
E/MicrophoneInputStream(32360): Failed to initialize AudioRecord
Run Code Online (Sandbox Code Playgroud)

service android microphone broadcastreceiver android-intent

10
推荐指数
1
解决办法
2300
查看次数

如何在用户停止讲话时停止Apple Watch中的语音识别(听写)?

我已经成功地在Apple Watch(WatchOS 2.1,iOS 9.2.1)中实现了原生语音识别(听写),基本上我使用了这个代码,带有一个空的"菜单选项数组":

func launchDictation(){
        self.presentTextInputControllerWithSuggestions([], allowedInputMode: WKTextInputMode.Plain, completion:{
            (results) -> Void in
                let aResult = results?[0] as? String
                if(!(aResult == nil)){
                    print(aResult)
                    print("SHORT ASR COMPLETED")
                    dispatch_async(dispatch_get_main_queue()) {
                        // Update UI
                    }
                }//end if
            })//end show voice menu
    }
Run Code Online (Sandbox Code Playgroud)

因为它是......用户点击"说话按钮",然后弹出一个视图(显示用户说话时检测到的单词和一个漂亮的小音量图表).现在,用户必须说话,然后点击"完成"以完成语音识别.如果检测到短语但未点击"完成",则"听写失败"最终将出现在屏幕上.有人知道如何实现一些侦听器或委托,在用户停止讲话几秒后检测到听写过程结束时?

ios swift apple-watch watchos-2

8
推荐指数
0
解决办法
823
查看次数

当我尝试拖放IB Outlet时,XCode崩溃了

当我尝试将IB插座从UIView拖放到我的ViewController.swift中时,XCode崩溃(当我在输入IBOutlet的名称后按OK时).弹出窗口显示:"XCode意外退出":忽略,报告,重新打开.该报告称许多冗长,最值得注意的警告是:

UNCAUGHT EXCEPTION (NSInvalidArgumentException): +[IDESwiftSourceCodeGenerator isTeardownCounterpart:]: unrecognized selector sent to class 0x1159415c0
prepareToAddSourceCodeForCounterparts:documentLocationForCounterpartBlock:addSourceCodeForCounterpartBlock:options:error:] (in IDEKit)
  8  0x000000011588a13f -[IDESwiftSourceCodeGenerator prepareToAddPropertyWithName:type:inClassItem:options:error:] (in IDELanguageSupportUI)
Run Code Online (Sandbox Code Playgroud)

我有其他IBOutlets适用于UILabels和表视图,所以我不明白,为什么会发生这种情况.

我是Xcode的新手,如果您需要任何其他信息来检测出错的地方,我很乐意提供.已经尝试了通常的清洁,重建,重新打开,重启和模拟器重置以防万一....

xcode uiview iboutlet

6
推荐指数
1
解决办法
952
查看次数

无法在Swift中下标AnyObject类型的值

我有这行代码,我想提取"标题"键:

var title = jParams["title"] as! String
Run Code Online (Sandbox Code Playgroud)

但它不会让我编译,如果我收到红色的错误消息:

无法下标具有String类型索引的AnyObject类型的值

println(jParams)我在日志中显示jParams的内容时,我得到以下内容:

INCOMING LIST PARAMETERS (jParameters)
Optional({
    title = "Example List";
    values =     (
                {
            id = 1;
            name = "Line 1";
        },
                {
            id = 2;
            name = "Line 2";
        },
                {
            id = 3;
            name = "Line 3";
        }
    );
})
Run Code Online (Sandbox Code Playgroud)

我是Swift的新手,所以我不熟悉处理JSON来处理这些类型问题的细节.可能有什么不对?

//jParams comes from a JSON server response
var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
            if data != nil {
                var jdata = JSON(data: data!)
                var …
Run Code Online (Sandbox Code Playgroud)

json nsdictionary swift

6
推荐指数
1
解决办法
4622
查看次数

如何检查语音识别是否可用?

当我初始化语音识别应用程序时,我使用这行代码:

Boolean b=SpeechRecognizer.isRecognitionAvailable(cContext);
Run Code Online (Sandbox Code Playgroud)

为什么 b 在某些设备(例如模拟器)上总是等于 false?我从 Android 文档中的描述中了解该功能的作用,但该文档没有说明如何使语音识别可用。我必须在我的模拟器上设置其他东西吗?您知道如何使语音识别始终可用吗?

android speech-recognition

5
推荐指数
1
解决办法
2321
查看次数

如何在android中初始化Application类并存储getApplicationContext()?

我在我的应用程序中声明了一个 Application 类:

public class application extends Application {

    String TAG="joshtag";//app.TAG;

    @Override
    public void onCreate() {
        super.onCreate();
        Log.e(TAG, "Initializing APP");
        initializeSingletons(getApplicationContext());
    }

    protected void initializeSingletons(Context c){
        Log.e(TAG, "...preparing to Initialize Singleton");
        app.initInstance(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您想象的那样,我希望这个类在我的应用程序启动后立即运行,目的是初始化一个单例类(这个单例类不扩展任何其他类,并将包含一个变量来存储 getAppContext)。但是,日志消息永远不会在“onCreate”和“initializeSingleton”内部触发,并且单例没有被初始化。我的最终目标是存储一个全局 getAppContext 变量,我可以在不继承它的类中使用该变量。如果我以错误的心态处理问题,请告诉我并说明原因。

java singleton android android-context

3
推荐指数
1
解决办法
4945
查看次数

如何自动定标WKWebView的内容?

要在Swift中使用旧的WebView自动缩放网页,我所要做的就是:

var w:UIWebView
w.scalesPageToFit=true
Run Code Online (Sandbox Code Playgroud)

我找不到WKWebView的等效方法,并且网页在我的应用中看起来太大了.如何自动调整WKWebView的内容?

- 我正在使用Xcode 7和Swift

xcode ios wkwebview wkwebviewconfiguration swift2

3
推荐指数
1
解决办法
4765
查看次数

如何使用Swift检测iOS应用程序何时出现在前台?

我需要检测我的应用何时可见?(例如,通过双击Home按钮然后点击已经在后台的应用程序)如果可能,我想在我的UIViewController中检测到该事件.我正在使用Swift 2.2.

uiviewcontroller ios swift

3
推荐指数
1
解决办法
4847
查看次数

9在Swift上实现Nuance语音识别,无法监听onResult,onError ...事件

我有Nuance的Speech Recon项目的两个部分,模块的.h文件(ObjectiveC)和一个ViewController(swift).

我想SpeechRecognition在我的swift中设置一个对象viewController,并听取onBegin,onStop ......以及这些方法.

使其编译的唯一方法是使用nil作为委托参数来初始化SpeechRecon对象.显然这不好,因为我的onStart ...和onFinish函数没有触发.

我已经为SKRecogniser文件实现了一个协议,并将我的ViewController类扩展为SKReconDelegate ...但是如果我使用"self"作为初始化对象的委托,编译器会说这UIViewController不是一个有效的类.我知道我需要在两个类之间建立一些委托,但我是一个Android开发人员,我的iOS技能仍然不够清晰.这是代码,如果我错过了一些重要的部分,请告诉我.我将非常感谢你的帮助.

//ViewController code, in SWIFT
//NO PROTOCOLS NEEDED HERE!

class ViewController:  UIViewController, SpeechKitDelegate, SKRecognizerDelegate{

override func viewDidLoad() {
        super.viewDidLoad()
        SpeechKit.setupWithID( "NMDPTRIAL_nuance_chch_com9999",
            host:"sandbox.nmdp.nuancemility.net",
            port:443,
            useSSL:false,
            delegate:self) //error said "self" is of an invalid ViewController type :( because I was NOT implementing all 4 methods BELOW:
   }
//a bit ahead, I have the same problem with a button
@IBAction func btnmicaction(sender: AnyObject) {
   self.voiceSearch=SKRecognizer(type: "websearch", …
Run Code Online (Sandbox Code Playgroud)

delegates speech-recognition header-files ios swift

1
推荐指数
1
解决办法
2258
查看次数