gpt4 book ai didi

java - oncreate()中可以播放soundPool吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:10 25 4
gpt4 key购买 nike

我正在开发一个应用程序,当一个新 Activity 开始时,它应该开始播放声音。所以我使用 mediaplayer 在 oncreate 中播放声音并且效果很好。但是当我尝试使用 soundpool 时,通过在 Activity 的 oncreate 中加载和播放它。它不是在玩。我选择 soundpool,因为它比 mediaplayer 好。

可能是什么问题? soundpool 在 oncreate 中不起作用吗?

最佳答案

也许您只需要在 onCreate 方法中 hibernate 。

我在尝试编写有时需要在唤醒后立即播放声音的应用程序时遇到了几乎相同的问题。最终经过多次试验和错误后,我发现它在日志输出中放置了错误“sample NOT READY”。问题是加载声音文件是异步发生的,如果您尝试在加载之前播放声音,它会失败。

据推测,您可以使用一种称为 setOnLoadCompleteListener 的机制,但我还没有看到它实际如何有用的示例。在上面显示的来自 mirroredAbstraction 的示例中(假设它像宣传的那样工作),如果尚未加载声音,将会发生的所有情况是它不会播放声音,这与您现在拥有的几乎相同。

如果该示例以某种方式神奇地“解决”了您的问题,那么我认为这只是因为两个方法调用中的所有额外开销基本上让您的声音有时间在播放之前加载。在加载和播放之间的 onCreate 中使用一个简单的 SystemClock.sleep(100) 可能会达到相同的结果。

根据您的声音大小,您可能需要延长延迟时间,但对不同的延迟进行一些实验应该会告诉您需要多长时间。

关于java - oncreate()中可以播放soundPool吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11256062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com