从广播接收器或服务启动 Android TTS

2023-12-14

我正在尝试让 TTS 在后台运行。但是,我从来没有听到任何声音。我有一个启动服务的广播接收器。我将我的 TTS 代码放入其中,但它从不说话。我知道该方法正在被调用(我在上面设置了断点),但它仍然不起作用。

这是我的日志,但它似乎不包含有关 TTS 服务的任何内容。

10-04 22:45:30.663: WARN/InputManagerService(209): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4423df40
10-04 22:45:37.363: INFO/PollingManager(449): calculateShortestInterval(): shortest interval is 540000
10-04 22:45:37.413: INFO/TLSStateManager(449): org.apache.harmony.nio.internal.SocketChannelImpl@4400ece0: Wrote out 29 bytes of data with 0 bytes remaining.
10-04 22:45:38.043: ERROR/IMAPEmailService(480): Can't create default IMAP system folder Trash. Please reconfigure the folder names.
10-04 22:45:40.123: ERROR/EONS(303): EF_PNN: No short Name
10-04 22:45:41.543: ERROR/WMSTS(171): Month is invalid: 0
10-04 22:45:42.043: WARN/AudioFlinger(172): write blocked for 212 msecs, 24 delayed writes, thread 0xb998

提前感谢大家!


查看您的 TTS 代码将有助于人们更轻松地为您提供帮助。由于我已经在 BroadcastReceiver 中使用了 TTS,因此这里有一个从我的代码中删减的示例。

public static class TTS extends Service implements TextToSpeech.OnInitListener, OnUtteranceCompletedListener {
    private TextToSpeech mTts;
    private String spokenText;

    @Override
    public void onCreate() {
        mTts = new TextToSpeech(this, this);
        // This is a good place to set spokenText
    }

    @Override
    public void onInit(int status) {
        if (status == TextToSpeech.SUCCESS) {
            int result = mTts.setLanguage(Locale.US);
            if (result != TextToSpeech.LANG_MISSING_DATA && result != TextToSpeech.LANG_NOT_SUPPORTED) {
                mTts.speak(spokenText, TextToSpeech.QUEUE_FLUSH, null);
            }
        }
    }

    @Override
    public void onUtteranceCompleted(String uttId) {
        stopSelf();
    }

    @Override
    public void onDestroy() {
        if (mTts != null) {
            mTts.stop();
            mTts.shutdown();
        }
        super.onDestroy();
    }

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }
}

在 BroadcastReceiver 中您希望其说话的位置启动 TTS 服务:

context.startService(new Intent(context, TTS.class));

我希望这对某人(如果不是提问者的话)有帮助(我确信他现在已经开始工作了)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从广播接收器或服务启动 Android TTS 的相关文章

  • 一部又一部的Android动画

    我在 TextView 上有两个 TranslateAnimations 我希望它们一个接一个地执行 但是 通过使用下面的代码 仅执行第二个代码 我该如何解决这个问题 TranslateAnimation animation new Tra
  • android:onClick 在 xml 中的 menuitem 上设置

    亲爱的 我们可以在 xml 中将 onclick 与菜单项一起使用吗 就像下面一样 我尝试过但它不起作用 menu menu
  • 无法绑定到调试器的本地 XXXX

    我不断得到Can t bind to local XXXX for debugger控制台中的消息 但不适用于 1 个端口 适用于所有随机端口 我已经完成了中所述的操作这个问题 https stackoverflow com questio
  • 将长文本分成页面供viewpager使用

    我正在实施中的messureText方法这个问题 https stackoverflow com a 22199847 3930169在 viewpager 中渲染之前将长文本分成指定大小的页面 我正在使用增量字符数进行 while 循环以
  • 覆盖服务 - 按下返回按钮

    我怎样才能做到这一点 目前的解决方案 我启动了一个透明的活动 捕获后按 将其转发到我的服务 然后自行关闭 但此活动将在当前正在运行的活动中可见 因此这不是一个非常漂亮的解决方案 看到的解决方案 我见过一个应用程序确实可以捕获服务中的后按 而
  • 使用 Gradle 构建未签名的 APK

    目前我正在尝试学习 Gradle 来构建 Android APK 如何在 gradle 中设置选项来构建未签名的 APK 您不必设置任何选项 只需运行常规任务即可 gradle assemble 这将在project build apk 中
  • 如何在 Google Maps API V2 中获取我的当前位置

    我正在创建一个应用程序 用户需要使用 getMyLocation 查看他 她的地理位置 但这返回 null 有没有解决这个问题的方法 因为我确实读到 getMyLocation 方法总是返回 null 我是 Google 地图新手 因此我们
  • Lombok 如何将代码生成到现有类中? [复制]

    这个问题在这里已经有答案了 我可以使用注释处理器从头开始生成类 但我无法像 lombok 那样修改类 我在 android studio 中搜索了 lombok 生成的类 但是我什么也没找到 然后我通过他们的网站检查了龙目岛概述 还在论坛中
  • CameraX:将照片捕获为位图

    我正在尝试使用护目镜CameraX示例应用程序 CameraXBasic 可以在 Github 上找到 并且希望将图像捕获为位图 以便能够在保存图像之前对图像进行一些修改 有人对如何实现这一目标有建议吗 请参阅下面的Google原始代码来捕
  • 在 Android 中将连续动画应用到 ImageView

    我想将连续的动画 例如 ScaleAnimation 应用到显示资源图像的 ImageView 动画由按钮触发 例如 我想在每次单击按钮时逐渐放大图像 我已在动画上设置 fillAfter true 但是 所有动画都是从 ImageView
  • 从视频文件中提取音频的问题(android)

    我需要将 mp4 或任何其他视频格式 转换为 mp3 或 wav 文件 我正在使用 C Xamarin Forms 我使用的任何库要么不适合我 要么与 android 不兼容 我尝试过使用 Xamarin Android FFMpeg 和
  • 菜单项标题未显示

    菜单项的标题未显示在片段内 我在菜单文件中有两个项目 第一个是带有图标和标签的showAsAction always在工具栏中显示图标 第二个只有标题 我不知道这里出了什么问题 菜单项的所有操作均有效 例如下面 菜单 销售 xml menu
  • 如何在 Android 键盘中包含建议

    我正在开发 Android 软键盘 我已经创建了键盘布局 但不知道如何包含在 EditText 中键入一些单词时出现的建议 例如 如果我写 在 中 已知 和 已知 将显示在建议中 所以我的问题是 1 如何在 Android 软键盘中包含建议
  • 如何为Android编译最新的FFmpeg库?

    努力将当前 FFmpeg 的工作和一般最佳实践构建在一起 似乎没有最新的文档或教程 现有的内容充满了过时的链接或不起作用的构建脚本 构建独立的 NDK 工具链 下载最新的NDK并运行make standalone toolchain py
  • 如何将 Three.js 代码实施到 Android 移动应用程序中?

    我用 HTML CSS 和 JS 编写了 Three js 场景的代码 显示 3D 头部模型及其上的标记 它适用于我的 Angular 项目 我还可以通过将 HTML 代码添加到 Web 视图中 使其在适用于 Android 和 iOS 的
  • 在 Android 上下载时播放视频

    是否可以使用安全的 asp net 应用程序在 Android 上下载视频时流式传输视频 我有一个 https 安全的 ASP NET Web 应用程序 该应用程序专门为移动设备 例如 Iphone BB Android 等 制作 称为 M
  • 将浮动从一个活动发送到另一个活动

    我正在开始 android 开发 但我不知道为什么我的代码不起作用 目标很简单 我有一个主要活动 一个菜单和第二个活动 我想从主活动发送一个浮点值到第二个活动 但是 它不起作用 这是我的 main 代码 public boolean onO
  • android php 连接错误? (添加java代码)

    我试图从 android 应用程序获取位置 纬度 经度 并使用 php 插入数据库 然后提取 10m 半径内的数据 问题是 当我使用智能手机测试代码时 本地测试正常 数据未正确插入 表 usergps 有 3 列 名称 纬度 经度 在我测试
  • 如何改变android不确定的ProgressBar颜色?

    我想知道如何改变不确定ProgressBar颜色从基础白色 灰色变为黑色 当我改变indeterminateDrawable 我得到静态图像而不是移动的动画进度条 有什么办法可以简单地用 XML 来实现吗 progressBar getIn
  • Android Studio 3.4.1,Kotlin“未解析的引用:mutableListOf”

    我正在 Android Studio 3 4 1 中使用 Kotlin 构建 AAR 当我尝试使用 mutableListOf 时 出现可怕的 未解析的引用 错误 val myBuffer mutableListOf

随机推荐