我创建了一个应用程序,当应用程序背景时开始播放音频。
我从 List<CoreLabel> tokens = sentence.get(TokensAnnotation.class);
Tree tree = sentence.get(TreeAnnotation.class);
TregexPattern pattern = TregexPattern.compile("NNP | NNS | NN | NNPS");
TregexMatcher matcher = pattern.matcher(tree);
HashMap<Tree, Integer> leafDict = new HashMap<>();
int i = 0;
for(Tree leaf : tree.getLeaves()) {
leafDict.put(leaf, i);
i++;
}
while (matcher.find()) {
int index = leafDict.get( matcher.getMatch().firstChild());
String result = tokens.get(index).get(LemmaAnnotation.class);
System.out.println(result);
}
开始:
AVAudioSession
它工作正常,但是当我的应用开始播放音频时,是否可以将其他应用中的任何其他音频静音?
没有duckOthers选项应用程序崩溃,因为上面的代码是在后台执行的。使用duckOthers,它不会使其他音频静音,只会降低音量。
答案 0 :(得分:0)
没有。您可以保留其他音频,并且可以中断(暂停,而不是静音)语音(interruptSpokenAudioAndMixWithOthers
),但不允许静音所有其他音频。这很明显是出于设计意图,因为静音所有音频通常都是非常糟糕的用户体验,所以即使你找到了一个解决它的技巧,你应该在AppStore评论期间遇到麻烦。 Apple甚至在interruptSpokenAudioAndMixWithOthers
文档中提出了他们的意图:
当其他音频不是语音时,躲避其他音频,而不是打断它。