gpt4 book ai didi

android - soundPool.load上下文问题

转载 作者:行者123 更新时间:2023-12-03 00:36:56 27 4
gpt4 key购买 nike

我的应用程序中有一个调用异步任务的按钮。
此异步任务应在每个ProgressUpdate上播放音频文件。
到目前为止,我已经弄清楚了很多,但是我坚持这一点:

我打电话

        this.strengthSound[0] = this.soundPool.load(this, R.raw.strength0,1);
this.strengthSound[1] = this.soundPool.load(this, R.raw.strength1,1);
this.strengthSound[2] = this.soundPool.load(this, R.raw.strength2,1);
this.strengthSound[3] = this.soundPool.load(this, R.raw.strength3,1);
this.strengthSound[4] = this.soundPool.load(this, R.raw.strength4,1);

用strengthx.mp3填充数组。

无论如何:在load语句中出现“this”错误:
Error:(165, 57) error: incompatible types: AIM_start.start_AIM cannot be converted to Context

我必须在此soundPool.load(Context,ResourceID,..)中使用什么上下文?

我在这里先向您的帮助表示感谢... :)

最佳答案

private Context mContext;

onCreate(...) {
mContext = this;
}


// inside your AsyncTask
...

onProgressUpdate(int progress) {
this.strengthSound[0] = this.soundPool.load(mContext, R.raw.strength0,1);
...
}

我忘记了AsyncTasks的实际方法签名,但这是基本的总结。您正在滥用 this

Activity 中的 this和AsyncTask中的 this不同。 AsyncTask中的 this引用自身,即AsyncTask,但是onCreate中的 this引用(再次)本身,即Activity本身。

不确定这是否有帮助,但请随时详细说明:)

关于android - soundPool.load上下文问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40185738/

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