如何调用ios的文字转语音

Native.js如何调用ios的文字转语音。

plus.ios.importClass("AVSpeechSynthesizer"); 之后该怎么写



2015-04-01 17:08 添加评论 分享
已邀请:

最佳回复

2

向IOS同事请教,已解决该问题。

var AVSpeechSynthesizer = plus.ios.importClass("AVSpeechSynthesizer");
var AVSpeechUtterance = plus.ios.importClass("AVSpeechUtterance");
var AVSpeechSynthesisVoice = plus.ios.import("AVSpeechSynthesisVoice");
var sppech = new AVSpeechSynthesizer();
var voice = AVSpeechSynthesisVoice.voiceWithLanguage("zh-CN");
var utterance = AVSpeechUtterance.speechUtteranceWithString("共产主义接班人");
// utterance.plusSetAttribute("rate",30.1);
utterance.setVoice(voice);
sppech.speakUtterance(utterance);
//停止
sppech.stopSpeakingAtBoundary(0)
//暂停
sppech.pauseSpeakingAtBoundary(0);
//继续
sppech.continueSpeaking(0);
plus.ios.deleteObject(voice);
plus.ios.deleteObject(utterance);
plus.ios.deleteObject(sppech);
\n

需iOS7.0及以上系统支持此功能
Android平台参考http://ask.dcloud.net.cn/question/6473


0

DCloud_App_Array

赞同来自:

已收录为Native.js的示例代码
送上200积分表示感谢。


0

LiKin

赞同来自:

使用你的ios文字转语音源码,会闪退,一直不成功,是什么原因导致的?如果有时间,劳烦回复一下,万分感谢!


0

DCloud_App_Array

赞同来自:

首先确认在HBuilder中真机运行是否存在问题?
如果提交云端打包需要确认manifest.json文件在“模块权限配置”中选择了“Audio(音频)”模块,或者在plus->distribute->apple->frameworks节点下添加要引用的“AVFoundation.framework”。


0

努力加载中

赞同来自:

mark


0

蓝夜精灵

赞同来自:

播放过程是异步调用的 该如何来判断 是否播放完成了呢?


0

JBoss

赞同来自:

没有声音啊!大家如上所写都能播放声音吗?


0

晓黑

赞同来自:

不知道如何添加 监听事件 delegate 会闪退
https://www.jianshu.com/p/acd57725ba4d

 var delegate = plus.ios.implements("AVSpeechSynthesizerDelegate",{"speechSynthesizer:didFinishSpeechUtterance:":function(){
console.log('info:'+arguments.length);
}});

sppech.plusSetAttribute('delegate', delegate);
\n
0

我的地盘

赞同来自:

请问怎样在后台也能继续播报? 切换到后台后,语音播报就停止了。manifest里加"UIBackgroundModes":["audio"] 没用


0

836890151@qq.com

赞同来自:

怎么监听播放完毕


0

836890151@qq.com

赞同来自:

怎么监听播放完毕


0

苛学加

赞同来自:

mark


要回复问题请先登录注册