在使用SoundPool播放声音文件的时候,我想点击一个按钮播放声音,然后在点击时暂停播放,在点击在播放,但是每次都是第一次是好的,第二次在点击想要播放的时候就会没有声音,我一开始用的是
if (isPlaying == false) {
// 播放报警声音
streamID = soundPool.play(1, 1, 1, 0, -1, 1);
isPlaying = true;
} else {
soundPool.stop(streamID);
isPlaying = false;
}
这种方法写的,后来了解到可以用soundPool.pause(streamID)来暂停播放的声音,然后在soundPool.resume(streamID);就可以了。代码如下:
if (isPlaying == false) {
// 播放报警声音
if (streamID == 0) {
streamID = soundPool.play(1, 1, 1, 0, -1, 1);
isPlaying = true;
} else {
soundPool.resume(streamID);
isPlaying = true;
}
} else {
soundPool.pause(streamID);
isPlaying = false;
}
还有一点在ondestroy的时候要记得释放soundPool, 即soundPool.release();否则在进入可能会出现点击播放没有声音的问题。
相关推荐
本实例将探讨如何使用Android SDK中的相关组件来实现摄像头功能以及通过SoundPool播放声音。 1. 摄像头操作 在Android中,摄像头功能主要通过Camera类和Camera2 API来实现。Camera类是早期版本Android中的主要接口...
本示例将深入探讨如何在Android应用中使用`SoundPool`来实现音效的加载与播放,以提高用户体验。 `SoundPool`是Android为处理短暂、重复的音频而设计的。它通过内存映射技术,可以快速地加载和播放音频,特别适合...
`SoundPool`是Android提供的一种轻量级的音频管理工具,特别适用于游戏开发或者需要快速响应的场景,因为它可以预先加载音频文件到内存,从而实现即时播放。 `SoundPool`的核心概念: 1. **音频流类型**:Android...
在Android开发中,即时音效的实现通常依赖于`android.media.SoundPool`类。`SoundPool`是一个高效的声音播放管理器,特别适用于处理小型、短促的音频剪辑,如游戏中的点击声、按钮音效等。下面我们将深入探讨如何...
在Android开发中,SoundPool是用于播放短暂音频效果的一个高效工具,特别适合处理游戏或应用中的声音反馈。本文将深入探讨SoundPool的工作原理、使用方法以及如何在实际项目中实现音效播放。 ### 1. SoundPool概述 ...
在Android开发中,有时我们需要实现同时播放多个音频的效果,例如在游戏场景中或者音乐应用的混音功能。这时,`SoundPool` 类成为一个理想的解决方案。`SoundPool` 是Android系统提供的一个音频处理工具,它允许...
在Android开发中,有时我们需要为应用添加音效以提升用户体验,这时`SoundPool`类就显得尤为重要。`SoundPool`是Android系统提供的一个音频管理工具,它允许开发者快速播放短期的音频剪辑,如游戏中的按钮点击声或...
在Android应用开发中,SoundPool是一个非常重要的音频管理类,用于播放小而短的声音效果,如游戏中的音效。这个源码压缩包“Android应用源码之(SoundPool音效).zip”提供了一个实例,帮助开发者深入理解如何在实际...
2. **音频格式**:在使用SoundPool时,通常会将音频文件转换为压缩格式,如.3gp或.ogg,以减少内存占用和提高加载速度。因为SoundPool主要处理短期音频,所以不适合播放长音频,如音乐。 3. **加载音频**:加载音频...
在Android开发中,`android.media.SoundPool`是一个非常实用的类,它允许开发者高效地管理和播放短期音频剪辑。这个类特别适用于游戏或者应用程序中需要快速响应和循环播放音效的场景。本教程将深入讲解如何使用`...
SoundPool类是Android系统提供的一种高效的声音管理工具,它允许开发者加载和播放小的音频剪辑,通常用于实现背景音乐或者游戏中的各种音效。在这个“安卓Android源码——(SoundPool音效).zip”压缩包中,我们很可能...
在Android平台上,`SoundPool` 是一个非常实用的类,用于播放小的音频剪辑,特别是在游戏开发中,它能够高效地管理和播放大量的短音频。`SoundPool` 的优势在于它可以预先加载音频到内存,从而实现快速响应的音频...
在Android开发过程中,音频播放是一项常见的需求,特别是在游戏开发中。对于简短的音效播放,`SoundPool`类提供了非常高效且实用的方法。相比于`MediaPlayer`类,`SoundPool`更加适合播放短小的音频片段,并能够很好...
在Android平台上,声音管理是一个重要的任务,特别是在开发游戏或者音乐应用时。SoundPool类是Android提供的一个音频管理工具,特别适合于需要快速响应和重复播放短音频片段的应用场景。本示例将深入探讨如何利用...
在Android开发中,SoundPool是一个非常实用的类,主要用于播放短小的音频片段,比如游戏中的音效。在Android 5.0(API Level 21)之后,SoundPool的用法有所变化,使得在不同版本的Android系统上实现音频播放变得更...
在Android开发中,SoundPool是一个非常实用的类,主要用于加载和播放小的音频剪辑,尤其适合游戏或者应用中的音效。"SoundPool实例Demo-2.0"是一个专为应对Android 5.0(API Level 21)之后SoundPool API变化而设计...
在Android平台上,开发人员可以利用两种主要的工具来播放声音:`MediaPlayer`和`SoundPool`。它们各自具有不同的特点和适用场景,下面将详细解释这两种方法及其使用方法。 ## 1. MediaPlayer `MediaPlayer`是...
在安卓开发中,声音处理是应用体验的重要组成部分。`SoundPool`是Android系统提供的一种音频管理工具,主要用于在游戏中实现快速播放短小的音频片段。它能够有效地管理和缓存多个声音,以便在需要时立即播放,而不会...
### Android SoundPool 使用案例及源码分析 #### 一、SoundPool简介与初始化 SoundPool是Android提供的一个音频播放类,特别适用于游戏等场景中播放短小的声音效果。相比于MediaPlayer,SoundPool支持同时播放多个...