如何向android程式新增音效或者音訊檔案
阿新 • • 發佈:2019-01-05
package com.example.winphone; import android.app.Activity; import android.content.Intent; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.SoundPool; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Window; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; public class loging extends Activity { private SoundPool spPool;//宣告一個SoundPool private int music;//宣告一個變數 || 可以理解成用來儲存歌曲的變數 public ProgressBar loginbar; public TextView loginbarnum; int i=0; int a; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.logingdesigne); spPool= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一個引數為同時播放資料流的最大個數,第二資料流型別,第三為聲音質量 music=spPool.load(this,R.raw.loginmusic,1);//所要載入的music檔案 ,(第2個引數即為資原始檔,第3個為音樂的優先順序), 其中raw是res資料夾裡的 ,較低版本的android可能沒有,需要手動建立,並在'R'檔案中宣告 loginbar=(ProgressBar)findViewById(R.id.loginbar); loginbarnum=(TextView)findViewById(R.id.loginbarnum); handler.post(r); } Handler handler=new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); handler.postDelayed(r, 1000); loginbarnum.setText(i+"%"); if(i==100) { handler.removeCallbacks(r); spPool.play(music, 1, 1, 0, 0, 1);//開啟音訊,(對音訊檔案播放的設定 例如左右聲道等) Toast.makeText(getApplicationContext(), "login success", Toast.LENGTH_SHORT).show(); Intent intent=new Intent(loging.this,content.class); startActivity(intent); } }; }; Runnable r=new Runnable() { @Override public void run() { i=i+25; Message msg=new Message(); msg.arg1=i; handler.sendMessage(msg); } }; }
**************************************在此說明:在編譯android程式時可能會出現res資料夾裡沒有raw資料夾,此時手動新增即可,然後通過Create filed 'raw' in type 'R'方法來新增到'R'檔案裡