UEAzSpeech项目在Pixel Streaming中使用语音转文本功能的解决方案
在UEAzSpeech项目中集成语音转文本功能时,开发者可能会遇到一个特定问题:当项目以Pixel Streaming方式运行时,点击语音输入按钮会导致程序崩溃,并显示"Crash in runnable thread AzSpeech_USpeechToTextAsync::SpeechToText_30241"错误信息。本文将详细分析这一问题并提供完整的解决方案。
问题现象分析
该问题表现为:
- 在编辑器模式下运行正常,语音转文本功能可以正常工作
- 当项目打包为Shipping版本并通过Pixel Streaming在浏览器中运行时
- 用户点击语音输入按钮后,程序立即崩溃
- 错误日志中显示线程AzSpeech_USpeechToTextAsync::SpeechToText_30241相关的致命错误
根本原因
经过技术分析,该问题的根本原因是Pixel Streaming环境下麦克风访问权限未正确配置。与本地运行不同,Pixel Streaming需要通过特定的设置来授权浏览器访问用户的麦克风设备。
解决方案
要解决此问题,需要按照以下步骤进行配置:
- 在Pixel Streaming前端设置中启用麦克风访问权限
- 确保浏览器已获得访问麦克风的授权
- 在UEAzSpeech插件配置中正确设置音频输入设备
详细配置步骤
-
Pixel Streaming配置: 在项目的Pixel Streaming配置文件中,需要明确启用音频输入功能。这通常涉及修改配置文件中的相关参数,确保音频输入流被正确初始化。
-
浏览器权限设置: 用户首次访问Pixel Streaming应用时,浏览器会弹出权限请求对话框,用户需要明确允许网站访问麦克风设备。开发者应在应用界面中添加适当的提示,引导用户完成这一授权。
-
UEAzSpeech插件设置: 在项目设置中检查UEAzSpeech插件的音频输入配置,确保选择了正确的音频输入设备,并且采样率等参数与Pixel Streaming设置兼容。
注意事项
- 不同浏览器对音频设备的支持程度不同,建议在Chrome或Edge等主流浏览器中进行测试
- 某些安全设置较严格的网络环境可能需要额外的配置才能允许麦克风访问
- 在Shipping版本中,确保所有必要的音频相关模块都已正确打包
测试验证
实施上述解决方案后,应按照以下步骤验证功能是否正常:
- 清除浏览器缓存后重新加载应用
- 确认浏览器弹出麦克风访问权限请求
- 授权后测试语音输入功能
- 检查控制台是否有相关错误输出
通过以上配置和验证,UEAzSpeech的语音转文本功能应该能够在Pixel Streaming环境下稳定运行,不再出现线程崩溃的问题。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



