欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android使用SoundPool播放音效

本文實例為大家分享了Android使用SoundPool播放音效的具體代碼,供大家參考,具體內(nèi)容如下

成都創(chuàng)新互聯(lián)專注于襄汾企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。襄汾網(wǎng)站建設(shè)公司,為襄汾等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

SoundPool(int maxStreams, int streamType, int srcQuality) 參數(shù)依次是:

①指定支持多少個聲音,SoundPool對象中允許同時存在的最大流的數(shù)量。
②指定聲音類型,流類型可以分為STREAM_VOICE_CALL(通話), STREAM_SYSTEM(系統(tǒng)), STREAM_RING(鈴聲),STREAM_MUSIC(媒體音量) 和STREAM_ALARM(警報)四種類型。在AudioManager中定義。
③指定聲音品質(zhì)(采樣率變換質(zhì)量),一般直接設(shè)置為0!、

以下是對它的常用方法的介紹:

1.加載聲音資源

load(Context context,int resid,int priority)
load(String path,int priority)
load(FileDescriptor fd,long offset,long length,int priority)
load(AssetFileDescriptor afd,int priority)

參數(shù)介紹:

  • context:上下文
  • resId:資源id
  • priority:沒什么用的一個參數(shù),建議設(shè)置為1,保持和未來的兼容性
  • path:文件路徑
  • FileDescriptor:貌似是流吧,這個我也不知道
  • AssetFileDescriptor:從asset目錄讀取某個資源文件,其用法:AssetFileDescriptor descriptor = assetManager.openFd("biaobiao.mp3");

2.播放控制

play(int soundID,float leftVolume,float rightVolume,int priority,int loop,float rate)

參數(shù)依次是:

  • soundID:Load()返回的聲音ID號
  • leftVolume:左聲道音量設(shè)置
  • rightVolume:右聲道音量設(shè)置
  • priority:指定播放聲音的優(yōu)先級,數(shù)值越高,優(yōu)先級越大。
  • loop:指定是否循環(huán):-1表示無限循環(huán),0表示不循環(huán),其他值表示要重復(fù)播放的次數(shù)
  • rate:指定播放速率:1.0的播放率可以使聲音按照其原始頻率,而2.0的播放速率,可以使聲音按照其 原始頻率的兩倍播放。如果為0.5的播放率,則播放速率是原始頻率的一半。播放速率的取值范圍是0.5至2.0。

3.資源釋放

方法:可以通過release()方法釋放所有SoundPool對象所占據(jù)的內(nèi)存和資源,也可以根據(jù)聲音ID來釋放。

下面是使用SoundPool實現(xiàn)的一個代碼示例:

1.  運行效果圖:

Android使用SoundPool播放音效

2.  MainActivity代碼:

import android.content.res.AssetManager;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

 private Button btnOne;
 private Button btnTwo;
 private Button btnThree;
 private Button btnFour;
 private Button btnFive;
 private Button btn_release;
 private AssetManager aManager;
 private SoundPool mSoundPool = null;
 private HashMap<Integer, Integer> soundID = new HashMap<Integer, Integer>();

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  aManager = getAssets();
  try {
   initSP();
  } catch (Exception e) {
   e.printStackTrace();
  }
  bindViews();
 }

 private void bindViews() {
  btnOne = (Button) findViewById(R.id.btn_play1);
  btnTwo = (Button) findViewById(R.id.btn_play2);
  btnThree = (Button) findViewById(R.id.btn_play3);
  btnFour = (Button) findViewById(R.id.btn_play4);
  btnFive = (Button) findViewById(R.id.btn_play5);
  btn_release = (Button) findViewById(R.id.btn_release);

  btnOne.setOnClickListener(this);
  btnTwo.setOnClickListener(this);
  btnThree.setOnClickListener(this);
  btnFour.setOnClickListener(this);
  btnFive.setOnClickListener(this);
  btn_release.setOnClickListener(this);

 }

 private void initSP() throws Exception{
  //設(shè)置最多可容納5個音頻流,音頻的品質(zhì)為5
  mSoundPool = new SoundPool(5, AudioManager.STREAM_SYSTEM, 5);
  soundID.put(1, mSoundPool.load(this, R.raw.duang, 1));
  soundID.put(2 , mSoundPool.load(getAssets().openFd("biaobiao.mp3") , 1)); //需要捕獲IO異常
  soundID.put(3, mSoundPool.load(this, R.raw.duang, 1));
  soundID.put(4, mSoundPool.load(this, R.raw.duang, 1));
  soundID.put(5, mSoundPool.load(this, R.raw.duang, 1));
 }

 @Override
 public void onClick(View v) {
  switch (v.getId()){
   case R.id.btn_play1:
    mSoundPool.play(soundID.get(1), 1, 1, 0, 0, 1);
    break;
   case R.id.btn_play2:
    mSoundPool.play(soundID.get(2), 1, 1, 0, 0, 1);
    break;
   case R.id.btn_play3:
    mSoundPool.play(soundID.get(3), 1, 1, 0, 0, 1);
    break;
   case R.id.btn_play4:
    mSoundPool.play(soundID.get(4), 1, 1, 0, 0, 1);
    break;
   case R.id.btn_play5:
    mSoundPool.play(soundID.get(5), 1, 1, 0, 0, 1);
    break;
   case R.id.btn_release:
    mSoundPool.release(); //回收SoundPool資源
    break;
  }
 }
}

3.  activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context=".MainActivity">


 <Button
  android:id="@+id/btn_play1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="聲音1" />


 <Button
  android:id="@+id/btn_play2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="聲音2" />

 <Button
  android:id="@+id/btn_play3"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="聲音3" />

 <Button
  android:id="@+id/btn_play4"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="聲音4" />

 <Button
  android:id="@+id/btn_play5"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="聲音5" />

 <Button
  android:id="@+id/btn_release"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="釋放SoundPool" />

</LinearLayout>

點擊聲音1~5按鈕會發(fā)出聲音,但當點擊最后一個release按鈕將SoundPool釋放后,再去按就沒有任何效果了哦。

源碼下載:Android使用SoundPool播放音效

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

當前題目:Android使用SoundPool播放音效
網(wǎng)頁路徑:http://chinadenli.net/article32/ihghsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)做網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、全網(wǎng)營銷推廣、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
欧美老太太性生活大片| 日韩免费av一区二区三区| 欧美日韩国产综合在线| 亚洲最大的中文字幕在线视频| 成人亚洲国产精品一区不卡| 精品亚洲av一区二区三区| 国产精品内射视频免费| 亚洲黄色在线观看免费高清| 99精品国产自在现线观看| 亚洲中文字幕在线观看黑人| 日韩精品一区二区三区四区| 亚洲精品国产美女久久久99| 国产亚洲精品香蕉视频播放| 日本精品中文字幕人妻| 国产精品九九九一区二区| 亚洲中文字幕在线视频频道| 日本办公室三级在线观看| 日本大学生精油按摩在线观看| 亚洲乱妇熟女爽的高潮片| 欧美大粗爽一区二区三区 | 久久精品国产亚洲熟女| 久久亚洲成熟女人毛片| 97人妻精品一区二区三区免| 自拍偷拍一区二区三区| 国产亚洲二区精品美女久久 | 在线观看视频日韩成人| 可以在线看的欧美黄片| 美女露小粉嫩91精品久久久| 日韩午夜福利高清在线观看| 麻豆tv传媒在线观看| av国产熟妇露脸在线观看| 国产精品一区二区日韩新区| 国产午夜福利片在线观看| 日韩一区二区免费在线观看| 91精品欧美综合在ⅹ| 日韩在线视频精品中文字幕| 国产精品伦一区二区三区四季| 五月激情五月天综合网| 欧美一级特黄特色大色大片| 国产日韩欧美专区一区| 91精品国产av一区二区|