在andriod 开发中导入音频

时间:2024-03-28 15:45:45

试想一下,如果要让我们实现这样一个功能:进入一个界面,就有相应的音乐响起,然后退出的时候音乐消失。
接下来就来实现这种功能:
第一步:下载一个相应的音频文件,我将这个文件放在自定义文件夹raw的下面。在andriod 开发中导入音频
第二步:在xml文件中设置好相应的响应button
在andriod 开发中导入音频
第三步,在Java文件中编写响应逻辑过程。

package wyf.ytl;
import android.app.Activity;//引入Activity类
import android.content.Context;//引入Context类
import android.media.AudioManager;//引入AudioManager类
import android.media.MediaPlayer;//引入MediaPlayer类
import android.os.Bundle;//引入Bundle类
import android.view.View;//引入View类
import android.view.View.OnClickListener;//引入OnClickListener类
import android.widget.Button;//引入Button类
import android.widget.TextView;//引入TextView类
public class Sample_2_11 extends Activity implements OnClickListener{
	Button button1;//四个按钮的引用
	Button button2;
	Button button3;
	Button button4;
	TextView textView;//TextView的引用
	MediaPlayer mMediaPlayer;
	@Override
	public void onCreate(Bundle savedInstanceState) {//重写onCreate回调方法
		super.onCreate(savedInstanceState);
		initSounds();//初始化声音
		setContentView(R.layout.main);				//设置显示的用户界面
		textView = (TextView) this.findViewById(R.id.textView);//得到TextView的引用
		button1 = (Button) this.findViewById(R.id.button1);//得到button的引用
		button2 = (Button) this.findViewById(R.id.button2);
		button1.setOnClickListener(this);//为四个按钮添加监听
		button2.setOnClickListener(this);
	}
	public void initSounds(){//初始化声音的方法
		mMediaPlayer = MediaPlayer.create(this, R.raw.backsound);//初始化MediaPlayer
	}
	public void onClick(View v) {//实现接口中的方法
		// TODO Auto-generated method stub
		if(v == button1){//点击了使用MediaPlayer播放声音按钮
			textView.setText("使用MediaPlayer播放声音");
			if(!mMediaPlayer.isPlaying()){
				mMediaPlayer.start();//播放声音
			}
		}
		else if(v == button2){//点击了暂停MediaPlayer声音按钮
			textView.setText("暂停了MediaPlayer播放的声音");
			if(mMediaPlayer.isPlaying()){
				mMediaPlayer.pause();//暂停声音
			}
		}
	}
}

最后的效果图如下所示:
在andriod 开发中导入音频
注意一下:

//这两个条件语句一定要写上去,不然会出现意外情况,如:在没有播放音频的时候点击暂停音频,后面再点击播放音频时不会响应		
if(!mMediaPlayer.isPlaying()){
				mMediaPlayer.start();//播放声音
if(mMediaPlayer.isPlaying()){
				mMediaPlayer.pause();//暂停声音

还有这个MediaPlayer适合于对音频响应时间要求不高的任务
SoundPool适用于对音频响应要求更高的任务,例如游戏中点击物体立刻出现**音。