日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android播放音效

發布時間:2024/3/13 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android播放音效 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請說明出處!
作者:kqw攻城獅
出處:個人站 | CSDN


有些時候程序需要播放幾個很短的低延遲的音效來響應與用戶的交互。

Android通過SoundPool將文件音頻緩存加載到內存中,然后在響應用戶操作的時候快速地播放。
Android框架低通了SoundPool來解碼小音頻文件,并在內存中操作它們來進行音頻快速和重復的播放。SoundPool還有一些其他特性,比如可以在運行時控制音量和播放速度。

播放音效也很簡單,總共分5步

準備音頻文件

將音頻文件放置在assets目錄下

初始化SoundPool

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

加載音頻文件

int streamID = mSoundPool.load(getApplicationContext().getAssets().openFd("beep/beep1.mp3"), 1);

播放音頻文件

mSoundPool.play(streamID, 10, 10, 1, 0, 1.0f);

釋放SoundPool

mSoundPool.release(); mSoundPool = null;

Code

package com.kongqw.kqwplaybeepdemo;import android.media.AudioManager; import android.media.SoundPool; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View;import java.io.IOException; import java.util.HashMap;public class MainActivity extends AppCompatActivity implements View.OnClickListener {private static final String TAG = "MainActivity";private SoundPool mSoundPool;private int streamID;private HashMap<String, Integer> mSoundMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.button_beep1).setOnClickListener(this);findViewById(R.id.button_beep2).setOnClickListener(this);mSoundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);mSoundMap = new HashMap<>();try {streamID = mSoundPool.load(getApplicationContext().getAssets().openFd("beep/beep1.mp3"), 1);mSoundMap.put("beep1.mp3", streamID);streamID = mSoundPool.load(getApplicationContext().getAssets().openFd("beep/beep2.mp3"), 1);mSoundMap.put("beep2.mp3", streamID);Log.i(TAG, "onCreate: streamID = " + streamID);} catch (IOException e) {e.printStackTrace();}}@Overrideprotected void onDestroy() {super.onDestroy();mSoundPool.release();mSoundPool = null;}@Overridepublic void onClick(View view) {switch (view.getId()) {case R.id.button_beep1:streamID = mSoundMap.get("beep1.mp3");mSoundPool.play(streamID, 10, 10, 1, 0, 1.0f);break;case R.id.button_beep2:streamID = mSoundMap.get("beep2.mp3");mSoundPool.play(streamID, 10, 10, 1, 0, 1.0f);break;default:break;}} }

總結

以上是生活随笔為你收集整理的Android播放音效的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。