音乐播放(游戏中的音效)
2012-02-14 18:28
771 查看
上篇中我们学习了指定Sdcard中音乐播放,但是游戏中的音效如何实现呢?
游戏中是肯定和程序打包发布的。这样的音乐就没有放在Sdcard中,一般会放在应用目录下的“res/raw”下。那如何实现音乐播放呢?
其实很简单呐,我只不过把setDataSource()方法改成create()方法来指定资源索引的MediaPlayer对象。
package xiaosi.mp3; import android.app.Activity; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.TextView; public class Mp32Activity extends Activity { /** Called when the activity is first created. */ private TextView text = null; private ImageButton Start = null; private ImageButton Pause = null; private ImageButton Stop = null; private MediaPlayer mediaPlayer = null; private boolean isPlaying = false; private boolean isPaused = false; private boolean isReleased = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 构建MediaPlayer对象 mediaPlayer = new MediaPlayer(); text = (TextView)findViewById(R.id.text); Start = (ImageButton) findViewById(R.id.Start); Start.setOnClickListener(new StartListener()); Pause = (ImageButton) findViewById(R.id.Pause); Pause.setOnClickListener(new PauseListener()); Stop = (ImageButton) findViewById(R.id.Stop); Stop.setOnClickListener(new StopListener()); } // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // 开始播放 private class StartListener implements OnClickListener { public void onClick(View v) { if(!isPlaying){ mediaPlayer = MediaPlayer.create(Mp32Activity.this, R.raw.f4); mediaPlayer.setLooping(true); mediaPlayer.start(); text.setText("音乐正在播放中......"); isPlaying = true; isReleased = false; isPaused = false; mediaPlayer.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer mp) { mediaPlayer.release(); } }); } } } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // 暂停 private class PauseListener implements OnClickListener { public void onClick(View v) { if(mediaPlayer != null){ if(!isReleased){ if(!isPaused){ mediaPlayer.pause(); isPaused = true; isPlaying = true; text.setText("播放暂停中......"); } else { mediaPlayer.start(); isPaused = false; isPlaying = true; text.setText("播放重新播放......"); } } } } } // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // 停止 private class StopListener implements OnClickListener { public void onClick(View v) { if(isPlaying){ if(!isReleased){ mediaPlayer.stop(); mediaPlayer.release(); isReleased = true; } isPlaying = false; text.setText("播放停止......"); } } } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if(!isReleased){ mediaPlayer.stop(); mediaPlayer.release(); isReleased = true; } this.finish(); return true; } return super.onKeyDown(keyCode, event); } }
源代码下载:点击打开链接
相关文章推荐
- 不想当职场小白?奇异大师给新人们列出了清单 2017-12-25 小奇爱音乐 奇亿音乐 雪花牌电视 正在为您播放 《音乐制作清单》 游戏音效就是“游戏灵魂注入师”,游戏就像人一样需要灵魂。
- 游戏音乐与音效的播放
- 游戏音乐与音效的播放
- 游戏音乐与音效的播放
- 【Cocos2D-X 游戏引擎】初窥门径(9)播放音乐/音效
- 游戏音乐与音效的播放
- 游戏中的音乐和音效的设置界面
- 【Android】游戏开发--SoundPool类多种音效同时播放
- cocos2d-x如何播放音乐和音效
- ios微信h5棋牌游戏自动播放音效填坑
- 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)
- [iphone-cocos2d]分享一段Objective-C可调用的游戏中播放音乐(1)
- iOS中播放音乐和音效
- iOS开发--音乐文件播放工具类的封装(包含了音效的封装)
- 游戏设置的音效音乐及其他要点
- 成都分贝块 专业制作游戏动漫音乐音效音频
- 【AndEngine】AndEngine播放音乐和音效
- 【Cocos2d-X开发学习笔记】第28期:游戏中音乐和音效的使用
- cocos-lua中播放音乐音效
- 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)