1. 程式人生 > >如何向android程式新增音效或者音訊檔案

如何向android程式新增音效或者音訊檔案

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'檔案裡