我在ACRCloud Android sdk中关注了演示应用。音乐识别的所有代码都在活动中。
我在服务中做了同样的事情。那么我们可以在服务中初始化ACRCloudClient吗?(ACRCloudClient从Activity扩展)。
如果我们不能,我们怎样才能在服务中这样做。
我在另一个问题中有服务中的实现代码。这是链接See this question
答案 0 :(得分:0)
SDK可以在服务中运行,但由于SDK需要录制,因此在后台执行时可能会中断。您的实现代码现在可以正常工作吗? 您可以设置“this.mConfig.context = null”,并忽略该空例外。
答案 1 :(得分:0)
我检查了ACRCloudClient的实现,并扩展了android Activity。此外,ACRCloudClient使用共享首选项(这就是我获得空指针异常的原因)。
由于在服务中保留对活动的引用并不是一个好主意,因此最好在活动中实现上述代码。所有识别的实现都是在ACRCloudClient类中的一个单独的线程中完成的,因此没有必要为此创建另一个服务。
我在另一个问题中回答了同样的问题link to related question