Android - 在成就解锁时播放声音
Posted
技术标签:
【中文标题】Android - 在成就解锁时播放声音【英文标题】:Android - Play a sound on achievement unlocked 【发布时间】:2014-04-17 15:08:43 【问题描述】:我有一个 android 游戏,我想在玩家解锁成就时播放声音, 但我似乎无法找到知道用户何时解锁成就的方法,因为我的大部分成就都是增量的我无法在客户端对其进行编码,唯一的方法是在 Google API 时调用一些回调显示成就框,但我在文档中找不到任何这些...我发现的唯一内容是:Integrating Google Play services achievements and android notifications
@Override
public void onAchievementUnlocked(final String id)
//
但我不知道如何实现该方法或如何调用该方法,而且我在 Google 上没有运气
【问题讨论】:
你想播放声音吗? 是的,我想在成就解锁时播放声音,但问题不是播放声音,而是知道成就何时解锁。 【参考方案1】:使用以下代码:
Games.Achievements.incrementImmediate(GoogleApiClient apiClient, String id, int numSteps).setResultCallback(new ResultCallback<Achievements.UpdateAchievementResult>()
@Override
public void onResult(UpdateAchievementResult result)
if (result.getStatus().getStatusCode() == GamesStatusCodes.STATUS_ACHIEVEMENT_UNLOCKED)
// play your sound. achievement was unlocked
);
这将使您的成就增加您想要的步数,完成后,它会return some of these codes. 如果代码是GamesStatusCodes.STATUS_ACHIEVEMENT_UNLOCKED
,则意味着增加解锁成就,您可以播放声音。
【讨论】:
谢谢你,这为增量成就工作! @DarkW 你特别提到了增量成就,还有其他不适合你的成就吗? 是的,但我设法解决了它,因为我知道何时解锁它。谢谢! @Ogen 出于某种原因,这对我没有用。它总是返回状态码STATUS_OK
或STATUS_NETWORK_ERROR_OPERATION_DEFERRED
,但从不返回STATUS_ACHIEVEMENT_UNLOCKED
,尽管我确信它已解锁,因为弹出的通知显示了这一点。知道为什么会这样吗?
@HusseinElFeky 嗯,也许仔细检查一下你的成就实际上是一个增量。除此之外,可能 STATUS_OK 与 STATUS_ACHIEVEMENT_UNLOCKED 相同。 google成就api文档说STATUS_OK表示操作成功。也许它们是可以互换的。以上是关于Android - 在成就解锁时播放声音的主要内容,如果未能解决你的问题,请参考以下文章
在 android 的 google chrome 上按顺序播放声音(考虑到播放声音的新限制)
Android SoundPool 在播放另一个声音之前不会第二次播放相同的声音