首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓SoundPool类在我的应用程序中表现得很奇怪

安卓SoundPool类在我的应用程序中表现得很奇怪
EN

Stack Overflow用户
提问于 2012-04-25 01:53:32
回答 1查看 314关注 0票数 0

我有一首歌在后台使用Android MediaPlayer连续播放,我的意思是它永远循环。

我也有25-30短声音,我使用SoundPool类在离散持续时间内播放,它们也必须一遍又一遍地播放主要歌曲。

每个声音都是0.5秒持续时间,其中一些在大小上是0.7Mb,而一首歌的平均大小大约是0.4Mb

我能够在我制作这个应用程序的设备上顺利地完成整个事情,然后我才知道SoundPool在双核手机上播放有问题。所以我收回了对他们的支持。

最近我在运行2.3.3版本的旧设备上测试了这个应用程序,新的问题是声音似乎可以正常播放4-5个周期,即直到主曲播放4-5次,然后在第6次播放时,声音的播放有一个明显的延迟,我记录了SoundPool.play()的值,发现延迟是~(1-2秒),这个问题只在低端手机上出现,为什么会发生这种情况。我认为这个问题是由SoundPool类引起的,根本不是硬件问题,因为我测试的设备有足够的RAM,即500Mb和一个不错的600Mhz处理器。

我真的需要解决这个问题,因为我希望我的应用程序可以在大多数设备上运行,除了双核手机。

此外,我不能使用MediaPlayer来播放我的声音,因为我不想增加CPU开销和使我的应用程序更滞后,而且我也不知道我想要播放多少声音之前手。

任何关于如何解决这个问题和减少延迟的线索,都是非常受欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-25 02:55:42

音频/视频播放通常是有问题的,因为涉及到很多硬件/底层软件因素(可能在单独的芯片上有专门的解码硬件和/或嵌入到cpu中,所有这些都与软件解码器结合在一起,在蓝牙、耳机插孔和2个扬声器之间切换,从内核到android系统的巨大软件堆栈,等等)。它可能是Android设备中最脆弱的子系统。许多设备在这一领域有较小的怪癖,它与Mhz / RAM / Dualcore没有直接关系。不幸的是,你不得不忍受其中的一些:

你最好的办法是尝试不同的方式播放/压缩你的音频。5个循环后重启播放等

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10303312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档