【发布时间】:2011-07-11 00:33:12
【问题描述】:
我正在使用不同的 API 和屏幕分辨率测试我的应用,但在使用 Android 2.1 时遇到了问题。每当我运行该应用程序时,主菜单都会与我为它创建的所有其他活动一起工作,除了一个:主游戏活动。我相信这是因为下面显示的第一个错误。我猜Android 2.1 不支持SoundPool 的OnLoadCompleteListener。我正在努力寻找替代方案,因此它适用于 2.2 及更高版本以及 2.1 及更低版本的 Android 版本。我很确定在 2.2 及更高版本中使用 SoundPool 时需要 OnLoadCompleteListener 方法。我记得没有它就不行。有人有建议吗?
谢谢
07-10 15:48:28.685: INFO/dalvikvm(363): Failed resolving Lorg/chinesetones/teacher/Game; interface 8 'Landroid/media/SoundPool$OnLoadCompleteListener;'
07-10 15:48:28.685: WARN/dalvikvm(363): Link of class 'Lorg/chinesetones/teacher/Game;' failed
07-10 15:48:28.685: ERROR/dalvikvm(363): Could not find class 'org.chinesetones.teacher.Game', referenced from method org.chinesetones.teacher.ChineseToneTeacherActivity.onClick
07-10 15:48:28.685: WARN/dalvikvm(363): VFY: unable to resolve const-class 38 (Lorg/chinesetones/teacher/Game;) in Lorg/chinesetones/teacher/ChineseToneTeacherActivity;
07-10 15:49:42.004: ERROR/AndroidRuntime(363): Uncaught handler: thread main exiting due to uncaught exception
07-10 15:49:42.074: ERROR/AndroidRuntime(363): java.lang.NoClassDefFoundError: org.chinesetones.teacher.Game
07-10 15:49:42.074: ERROR/AndroidRuntime(363): at
org.chinesetones.teacher.ChineseToneTeacherActivity.onClick(ChineseToneTeacherActivity.java:41)
07-10 15:49:42.074: ERROR/AndroidRuntime(363): at android.view.View.performClick(View.java:2364)
【问题讨论】:
-
一个有用的提示;如果您在 android 文档中查找方法或接口,它将具有所需的 API 级别。查看developer.android.com/reference/android/media/… 它显示级别 8,所以是的,需要 2.2
-
是不是几乎不可能使用 SoundPools 并且仍然可以使用这两种 API?我应该回到尝试让 AudioTrack 工作吗?我不知道该怎么做...AudioTrack 和 SoundPool 是我仅有的两个选择,因为我需要能够管理音频的播放速率。 AudioTrack 对我来说真的很困惑(写信给它)并且总是搞砸。有什么建议吗?
标签: android debugging soundpool