`

soundpool

 
阅读更多
package com.kerry.demo;

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class Demo1Activity extends Activity  implements OnClickListener{

Button buttons [] = new Button[6] ;

SoundPool soundPool;

int streamId;

float  volume ;

// Map hashMap = new HashMap<integer, integer>();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initSoundPool();
       
        buttons[0] = (Button) this.findViewById(R.id.button1);
        buttons[1] = (Button) this.findViewById(R.id.button2);
        buttons[2] = (Button) this.findViewById(R.id.button3);
        buttons[3] = (Button) this.findViewById(R.id.button4);
        buttons[4] = (Button) this.findViewById(R.id.button5);
        buttons[5] = (Button) this.findViewById(R.id.button6);
       
        for(Button bt :buttons){
        bt.setOnClickListener(this);
        }
    }

@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.button1:

playSound(1);
Toast.makeText(this,"button1",0).show();
;break;
case R.id.button2:

playSound(2);
Toast.makeText(this,"button2",0).show();
;break;
case R.id.button3:
Toast.makeText(this,"button3",0).show();
pauseSound();
;break;
case R.id.button4:
stopSound();
;break;
case R.id.button5:
playSound(5);
;break;
case R.id.button6:;break;
}
}

public void initSoundPool(){
soundPool = new SoundPool(1,  //同事播放音效的数量
AudioManager.STREAM_MUSIC, //设置音频类型
0); //为以后留得参数  展示设置为0 即可
streamId = soundPool.load(this,R.raw.noitem,1);

AudioManager  audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

volume = streamVolume/streamMaxVolume;
}

public void playSound(int  mumber){
soundPool.play(
streamId, //声音资源文件
volume,  //左声道
volume,  //右声道
1,    // 优先级  0 为最低
mumber,    //播放次数
1); //0.5~2.0  播放速度
}

public void stopSound(){
soundPool.stop(streamId);
}

public void pauseSound(){
soundPool.pause(streamId);
}
}












分享到:
评论

相关推荐

    使用 SoundPool 同时播放多个音频

    SoundPool soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); ``` 这里我们传入三个参数:最大同时播放的声音数量(10)、音频流类型(通常使用 `AudioManager.STREAM_MUSIC` 表示音乐流)以及音频...

    MediaPlayer和SoundPool区别及简单实例

    在Android开发中,播放音频是常见的功能之一,而MediaPlayer和SoundPool是两个主要用来处理音频播放的类。本文将深入探讨这两个组件的区别以及如何通过它们实现音频播放。 首先,我们来了解一下`MediaPlayer`。它是...

    Android用SoundPool播放音效

    在Android开发中,SoundPool是用于播放短暂音频效果的一个高效工具,特别适合处理游戏或应用中的声音反馈。本文将深入探讨SoundPool的工作原理、使用方法以及如何在实际项目中实现音效播放。 ### 1. SoundPool概述 ...

    Soundpool音乐播放控制练习

    在Android开发中,`Soundpool`是一个非常实用的类,用于播放短小的音频剪辑,比如游戏中的音效或简单的背景音乐。`Soundpool`的优势在于它能快速响应,即使在低内存环境下也能高效地处理音频播放。下面将详细讲解`...

    SoundPool实例Demo-2.0

    在Android开发中,SoundPool是一个非常实用的类,主要用于加载和播放小的音频剪辑,尤其适合游戏或者应用中的音效。"SoundPool实例Demo-2.0"是一个专为应对Android 5.0(API Level 21)之后SoundPool API变化而设计...

    Android下使用SoundPool的示例

    在Android平台上,`SoundPool`是一个非常实用的类,它允许开发者轻松地管理和播放短期音频效果。本示例将深入探讨如何在Android应用中使用`SoundPool`来实现音效的加载与播放,以提高用户体验。 `SoundPool`是...

    SoundPool实用实例,及其详细SoundTest.zip

    在Android开发中,SoundPool是一个非常实用的类,主要用于播放小型音频文件,尤其适合游戏或者应用中的背景音乐和音效。本实例通过一个名为"SoundTest"的项目,详细展示了如何利用SoundPool来管理和播放音频资源。...

    4-15-2(SoundPool音效).7z

    在Android开发中,SoundPool是一个非常重要的音频管理工具,它允许开发者高效地管理和播放短期的、重复的声音效果。本资源“4-15-2(SoundPool音效).7z”可能包含了一系列与SoundPool相关的音频文件和示例代码,用于...

    android soundpool播放音乐

    在Android平台上,声音的播放是通过多种方式实现的,其中之一就是使用`SoundPool`类。`SoundPool`是一个高效的声音管理器,适用于短小、重复的声音效果,如游戏中的音效。下面我们将深入探讨`SoundPool`的工作原理、...

    即时音效, 通过android.media.SoundPool实现

    在Android开发中,即时音效的实现通常依赖于`android.media.SoundPool`类。`SoundPool`是一个高效的声音播放管理器,特别适用于处理小型、短促的音频剪辑,如游戏中的点击声、按钮音效等。下面我们将深入探讨如何...

    Android应用源码之(SoundPool音效)-IT计算机-毕业设计.zip

    在Android应用开发中,SoundPool是一个非常重要的组件,尤其对于那些需要实时音频处理或游戏类应用来说。这个毕业设计项目专注于使用SoundPool来实现音效功能,帮助学生深入理解和掌握Android音频处理技术。以下是...

    Android的SoundPool类使用与利弊

    ### Android的SoundPool类使用与利弊 #### 一、SoundPool 类简介 在Android开发过程中,音频播放是一项常见的需求,特别是在游戏开发中。对于简短的音效播放,`SoundPool`类提供了非常高效且实用的方法。相比于`...

    Soundpool实例

    在Android开发中,SoundPool是一个非常实用的类,主要用于播放短小、重复的音频效果,如游戏中的音效。这个"Soundpool实例"是为开发者提供一个了解和学习如何使用SoundPool来管理与播放音频资源的参考。让我们深入...

    使用 SoundPool

    在Android平台上,`SoundPool` 是一个非常实用的类,用于播放小的音频剪辑,特别是在游戏开发中,它能够高效地管理和播放大量的短音频。`SoundPool` 的优势在于它可以预先加载音频到内存,从而实现快速响应的音频...

    SoundPool实例Demo

    在Android开发中,SoundPool是一个非常实用的类,主要用于播放短小的音频片段,比如游戏中的音效。在Android 5.0(API Level 21)之后,SoundPool的用法有所变化,使得在不同版本的Android系统上实现音频播放变得更...

    SoundPool使用Example

    在Android开发中,SoundPool是一个非常实用的音频处理类,主要用于播放短小的音频片段,如游戏中的音效。它提供了高效的声音缓存机制,能够快速响应用户操作,实现音频的即时播放。在这个"SoundPool使用Example"中,...

    SoundPool音效播放

    在Android开发中,SoundPool是实现游戏或应用中音频快速响应和播放的重要工具。它允许开发者加载多个声音文件,并在需要时快速、低延迟地播放它们,尤其适用于背景音乐、游戏音效等场景。本篇文章将深入探讨...

    Android基础软件源码(SoundPool音效).zip

    Android基础软件源码(SoundPool音效).zip

    SoundPool封装类

    资源为一个专门处理短音效soundPool的工具类,使用起来很方便,封装的很好!使用方法: 1、你只需要在需要的地方调用这个方法进行类初始化 private void initSound() { soundPlay = new SoundPlay(); soundPlay....

    音池SoundPool例子

    在Android开发中,`SoundPool`是一个非常实用的类,用于播放小的、短的音频剪辑,如游戏音效或简单的用户界面反馈声音。它提供了低延迟的音频播放功能,使得应用程序能够快速响应用户的操作。`SoundPool`的例子通常...

Global site tag (gtag.js) - Google Analytics