我说完一句话之后我试图触发声音。当我说出来时,语音识别器识别出这个词,并且我已经设置了它,所以每当我说出命令时它就会输出一个字符串。在我说出具体的词之后,我想做的就是触发声音。这是我到目前为止所做的。
$scope.condition = function(element, value) {
// Just returns true for even values
if (typeof value === "number")
return value % 2 == 0;
else if (value instanceof Array) {
return value.every(function(item) {
return item % 2 == 0;
});
}
}
$scope.all = function(element, value) {
return $scope.condition(element, value);
}
更新:
import Cocoa
import AVFoundation
class ViewController: NSViewController, NSSpeechRecognizerDelegate {
var ping = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("ping", ofType: "mp3")!)
var pingAudioPlayer = AVAudioPlayer()
var sr = NSSpeechRecognizer()
@IBOutlet var output: NSTextView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
pingAudioPlayer = AVAudioPlayer(contentsOfURL: ping, error: nil)
sr.delegate = self
sr.commands = ["Ping", "Ping Mac"]
sr.startListening()
}
func speechRecognizer(sender: NSSpeechRecognizer, didRecognizeCommand command: AnyObject?) {
output!.string! += "\(command)\n"
pingAudioPlayer.play()
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
一旦识别出单词,不确定为什么音频播放器没有播放声音。有什么想法吗?
答案 0 :(得分:0)
您不能告诉音频播放器播放哪种声音。试试这个:
func speechRecognizer(sender: NSSpeechRecognizer, didRecognizeCommand command: AnyObject?) {
do{
let pingAudioPlayer = try AVAudioPlayer(contentsOfURL:ping)
pingAudioPlayer.prepareToPlay()
pingAudioPlayer.play()
}catch {
print("Error getting the audio file")
}
}