最近我正在尝试使用 SoundPool 在我的应用程序中播放一些简单的音效
但不幸的是,它在 AVD 中不起作用并且应用程序崩溃
“上下文”到底是什么意思?
一无所知
提前致谢
任何上下文都允许访问特定于应用程序的资源和类,以及向上调用应用程序级操作,例如启动活动、广播和接收意图等。
通常您可以this.YourClassName
用作上下文。
例如:soundID = soundPool.load(this.MainActivity, R.raw.sound1, 1);
Activity
是 的一个子类Context
,所以你可以通过this
一个Activity
并且它应该可以工作。
Intent
是您对 Android 设备的关注。您的活动可以通过与 Android 对话Intent
并在您的手机上收听“任何变化”。
您有 4 个选项:
public int load (AssetFileDescriptor afd, int priority)
public int load (String path, int priority)
public int load (Context context, int resId, int priority)
public int load (FileDescriptor fd, long offset, long length, int priority)
无论您使用什么方法,都需要Context
“找出”您 Android 上的资源。
如果您要使用AssetFileDescriptor
或FileDescriptor
需要提供上下文来启动它们。