android用SoundPool 播放聲音

1.創建一個SoundPool對象;

SoundPool pool=new SoundPool(1, AudioManager.STREAM_MUSIC,0);

2.調用SoundPool load()方法;

final int soundId= pool.load(this,R.raw.xpy,1);

第二個參數是項目資源中的一個音頻文件
返回值是一個聲音id
3.調用play()方法;

 pool.play(soundId,1,1,1,0,0.5f);

參數介紹下,

  1. soundID,調用load方法返回值
  2. 左聲道音量0-1
  3. 右聲道音量0-1
  4. 優先級 1
  5. 是否輪播0 = no loop, -1 = loop forever)
  6. 播放速度0.5-2 float類型值;

實現比較簡單代碼如下

package com.example.mediaplayer;

import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    private SoundPool pool ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pool=new SoundPool(1, AudioManager.STREAM_MUSIC,0);
       final int soundId= pool.load(this,R.raw.xpy,1);
        findViewById(R.id.bt).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                pool.play(soundId,1,1,1,0,0.5f);
            }
        });
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章