温馨提示×

android soundpool如何停止播放

小樊
81
2024-11-19 11:49:40
栏目: 编程语言

在Android中,要停止SoundPool的播放,您需要首先获取到SoundPool对象以及正在播放的音频ID。以下是一个简单的示例:

  1. 首先,在您的Activity中初始化SoundPool:
import android.media.SoundPool;

public class MainActivity extends AppCompatActivity {
    private SoundPool soundPool;
    private int soundId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 初始化SoundPool
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            soundPool = new SoundPool.Builder().setMaxStreams(1).build();
        } else {
            soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
        }

        // 加载音频文件
        soundId = soundPool.load(this, R.raw.your_audio_file, 1);
    }
}
  1. 然后,在需要停止播放的地方,调用soundPool.stop()方法:
// 停止播放音频
soundPool.stop(soundId, 1);

请注意,您需要根据实际情况替换R.raw.your_audio_file为您的音频文件名。同时,如果您在Activity的onDestroy()方法中释放SoundPool资源,请确保在调用soundPool.stop()之前先停止所有音频流。

0