Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity IBM Watson Translation使用具有正确凭据的示例场景不起作用,但也不会显示任何错误消息_Unity3d_Ibm Watson_Machine Translation - Fatal编程技术网

Unity3d Unity IBM Watson Translation使用具有正确凭据的示例场景不起作用,但也不会显示任何错误消息

Unity3d Unity IBM Watson Translation使用具有正确凭据的示例场景不起作用,但也不会显示任何错误消息,unity3d,ibm-watson,machine-translation,Unity3d,Ibm Watson,Machine Translation,我正在使用IBM Watson SDK for Unity(2019.2.11f1)创建一个简单的传输场景。首先,我尝试了ibm watson live translation中的示例代码,其中的翻译场景已经存在。基本上,你只需要添加IAMKey和我做的URL。当我开始(播放)这个场景时,什么也没发生。我没有得到任何错误消息,这表明我的关键和网址是正确的,但仍然没有发生任何事情 有没有人面临类似的问题,知道我做错了什么,或者我遗漏了什么 im尝试的脚本之一是: namespace Langaug

我正在使用IBM Watson SDK for Unity(2019.2.11f1)创建一个简单的传输场景。首先,我尝试了ibm watson live translation中的示例代码,其中的翻译场景已经存在。基本上,你只需要添加IAMKey和我做的URL。当我开始(播放)这个场景时,什么也没发生。我没有得到任何错误消息,这表明我的关键和网址是正确的,但仍然没有发生任何事情

有没有人面临类似的问题,知道我做错了什么,或者我遗漏了什么

im尝试的脚本之一是:

namespace LangaugeTranslatorDemo
{
    public class LanguageTranslatorSample : MonoBehaviour
    {
        #region PLEASE SET THESE VARIABLES IN THE INSPECTOR
        [Space(10)]
        [Tooltip("The service URL (optional). This defaults to \"https://gateway.watsonplatform.net/langauge-translator/api\"")]
        [SerializeField]
        private string serviceUrl;
        [Tooltip("Text field to display the results of translation.")]
        public Text ResultsField;
        [Header("IAM Authentication")]
        [Tooltip("The IAM apikey.")]
        [SerializeField]
        private string iamApikey;
        [Header("Parameters")]
        // https://cloud.ibm.com/apidocs/language-translator#list-models
        [Tooltip("The translation model to use. See https://cloud.ibm.com/apidocs/language-translator#list-models.")]
        [SerializeField]
        private string translationModel;
        #endregion

        private LanguageTranslatorService languageTranslator;

        void Start()
        {
            if (string.IsNullOrEmpty(iamApikey))
                throw new IBMException("Please set the Language Translator iamApikey in the inspector.");
            if (string.IsNullOrEmpty(translationModel))
                throw new IBMException("Please set the translationModel in the inspector.");
            //  Start coroutine to create service
            StartCoroutine(CreateService());
        }

        private IEnumerator CreateService()
        {
            //  Create authenticator
            Authenticator languageTranslatorAuthenticator = new IamAuthenticator(
                apikey: iamApikey,
                url: serviceUrl
                );

            //  Yield here until we have IAM token data
            while (!languageTranslatorAuthenticator.CanAuthenticate())
                yield return null;

            //  Instantiate service
            languageTranslator = new LanguageTranslatorService(
                versionDate: "2019-09-16", 
                authenticator: languageTranslatorAuthenticator
                );
        }

        //  Call this method from ExampleStreaming
        public void Translate(string text)
        {
            //  Array of text to translate
            List<string> translateText = new List<string>();
            translateText.Add(text);

            //  Call to the service
            languageTranslator.Translate(OnTranslate, translateText, translationModel);
            Translate("Hello");
        }

        //  OnTranslate handler
        private void OnTranslate(DetailedResponse<TranslationResult> response, IBMError error)
        {
            //  Populate text field with TranslationOutput
            ResultsField.text = response.Result.Translations[0]._Translation;
        }
    }
}
namespace LangaugeTranslatorDemo
{
公共类语言翻译示例:MonoBehavior
{
#请在INSPECTOR中设置这些变量
[空间(10)]
[工具提示(“服务URL(可选)。默认为\”https://gateway.watsonplatform.net/langauge-translator/api\"")]
[序列化字段]
私有字符串serviceUrl;
[工具提示(“显示翻译结果的文本字段”)]
公共文本结果字段;
[标题(“IAM身份验证”)]
[工具提示(“IAM apikey”)]
[序列化字段]
私有字符串iamApikey;
[标题(“参数”)]
// https://cloud.ibm.com/apidocs/language-translator#list-模型
[工具提示(“要使用的转换模型。请参阅https://cloud.ibm.com/apidocs/language-translator#list-模型。”)]
[序列化字段]
私有字符串转换模型;
#端区
私人语言翻译服务语言翻译;
void Start()
{
if(string.IsNullOrEmpty(iamApikey))
抛出新的IBMException(“请在inspector中设置语言转换器iamApikey”);
if(string.IsNullOrEmpty(translationModel))
抛出新的IBMException(“请在inspector中设置translationModel。”);
//启动协同程序以创建服务
Start例程(CreateService());
}
私有IEnumerator CreateService()
{
//创建验证器
验证器语言TranslatorAuthenticator=新IAM验证器(
apikey:iamApikey,
url:serviceUrl
);
//在获得IAM令牌数据之前,在此处屈服
而(!languageTranslatorAuthenticator.CanAuthenticate())
收益返回空;
//实例化服务
languageTranslator=新语言Translator服务(
版本日期:“2019-09-16”,
身份验证器:语言Translator身份验证器
);
}
//从ExampleStreaming调用此方法
公共无效翻译(字符串文本)
{
//要翻译的文本数组
List translateText=新列表();
添加(文本);
//呼叫服务
languageTranslator.Translate(OnTranslate、translateText、translationModel);
翻译(“你好”);
}
//反变换板处理器
私有无效OnTranslate(详细响应,IBMError错误)
{
//用TranslationOutput填充文本字段
ResultsField.text=response.Result.Translations[0]。\u Translation;
}
}
}

您需要一个API密钥和服务url,用于语音到文本和语言翻译。您可以在inspector中的SpeechToTextSample和LangaugeTranslatorSample中添加凭据


在帖子中提供代码片段有助于更快地回答问题。