nurupo
V2EX  ›  Android

Android 封装工具类问题,请求大佬解答

  •  
  •   nurupo · Sep 1, 2021 · 12338 views
    This topic created in 1725 days ago, the information mentioned may be changed or developed.

    项目需要做一个简单的离线中文语音朗读功能,我参照 https://www.jianshu.com/p/fb48df91fddf?from=singlemessage 封装了一个工具类,可以 onClick 方法里调用 play 方法实现播放。 我现在想实现进入 Activity 自动播放语音,所以在 onStart 方法里调用 play 方法,发现播放不了,必须先在 onEvent 方法里完成初始化。

    5 replies    2021-09-01 16:01:35 +08:00
    auhah
        1
    auhah  
       Sep 1, 2021
    应该是初始化完成以后才能播放吧。。
    另外这个工具类搞了个单例,传的时候不要传 activity.this 或者 fragment.context 进去。。直接就是一个内存泄露。。。。
    nurupo
        2
    nurupo  
    OP
       Sep 1, 2021
    @auhah 感谢大佬解答,我在 onClick 方法里调用是没问题的
    nurupo
        3
    nurupo  
    OP
       Sep 1, 2021
    @auhah 如何判断初始化完成,在 Activity 自动播放?
    auhah
        4
    auhah  
       Sep 1, 2021
    因为点击的时候早就初始化成功了,这个初始化应该在一秒内可以完成。。

    case SpeechConstants.TTS_EVENT_INIT:
    // 初始化成功回调
    主要就是要在调用 init 之后的 onEvent 的这个事件之后再调用 play 方法。。。方案有很多,加个回调什么的都行,或者提前初始化之类的。或者改一下工具类,play 时候检测一下初始化状态,如果没初始化完成就把要 play 的内容存起来,初始化完成以后再 play 一下。。。
    nurupo
        5
    nurupo  
    OP
       Sep 1, 2021
    @auhah 感谢提供思路,问题解决了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2756 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:19 · PVG 10:19 · LAX 19:19 · JFK 22:19
    ♥ Do have faith in what you're doing.