音乐播放(游戏中的音效)
游戏中是肯定和程序打包发布的。这样的音乐就没有放在Sdcard中,一般会放在应用目录下的“res/raw”下。那如何实现音乐播放呢?
其实很简单呐,我只不过把setDataSource()方法改成create()方法来指定资源索引的MediaPlayer对象。
package com.zzl.mediaplayer;
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;
/**
* 河北、衡水市、武强县 3月16日晚
* zzl
*/
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);
}
}
分享到:
相关推荐
在IT领域,音频文件是多媒体应用中的重要组成部分,特别是对于游戏行业来说,音乐和音效的质量直接影响着玩家的游戏体验。本资源"34款经典游戏音乐音效MIDI"聚焦于游戏音频,提供了34个不同游戏的MIDI格式文件,这些...
总的来说,这个“游戏音乐集合爆炸音效”资源包对于游戏开发者、音频设计师或者对游戏音效感兴趣的个人来说都是宝贵的资料。通过这些音效,可以提升游戏的动态感和互动性,让玩家体验更加丰富和生动。同时,它也反映...
这篇原创博文主要探讨的是在游戏开发中如何管理和控制音频资源,特别是针对背景音乐和战斗音效的播放。在游戏开发中,音频管理是一个重要的部分,它可以提升玩家的沉浸感,对游戏体验起到关键作用。开发者通常会编写...
总的来说,这个压缩包为使用Scratch进行游戏编程的孩子们提供了一套丰富的游戏音效素材,帮助他们更好地实现自己的创意,打造出更加生动有趣的游戏作品。通过实践和学习,孩子们不仅可以掌握编程技能,还能培养艺术...
本资源“游戏音乐与音效处理_安卓源码.zip”提供了一个完整的Android应用源码示例,专门用于演示如何在游戏中集成和管理音频资源。以下是基于这个源码包中的关键知识点的详细解释: 1. **MediaPlayer类**:Android ...
它利用Cocos2dx框架中的SimpleAudioEngine库,将音乐播放和音效处理的功能进行抽象和封装,以便于开发者更高效、更便捷地在项目中集成音频元素。 SimpleAudioEngine是Cocos2dx引擎的一部分,它提供了一种跨平台的...
"拳皇游戏音效(包含启动,KO音效).zip"这个压缩包,正是一个专门为《拳皇》系列游戏定制的音效集合,包含了游戏中的重要声音元素——启动音效和KO音效。 首先,让我们来详细了解一下启动音效。启动音效通常是指...
总的来说,Android的音乐、音效架包为开发者提供了强大的音频处理能力,无论是简单的游戏音效还是复杂的音乐播放需求,都能得到很好的满足。通过合理使用SoundPool和MediaPlayer,开发者可以大大提高开发效率,同时...
热血游戏音效通常包含战斗、胜利、失败、动作等各种场景的声音效果。例如,当角色成功击中目标时,一个激动人心的打击声效可以即时传达成就感;而当角色受伤或失败时,悲伤或紧张的音效则能表达挫败感。这些音效不仅...
本篇文章将深入探讨如何使用SoundPool类来实现游戏音效的播放,让玩家在游戏过程中感受到更加生动和真实的声音效果。 SoundPool是Android系统提供的一种高效的声音播放工具,特别适合用于短小、循环或需要快速响应...
在这个“Scratch少儿编程项目音效音乐素材-【游戏】音效-吃鸡音效.zip”压缩包中,包含的是适用于Scratch游戏项目的一系列音效素材,特别是与流行游戏“吃鸡”相关的音频资源。 1. **少儿编程**:Scratch是教育孩子...
这个压缩包“Scratch少儿编程项目音效音乐素材-【游戏】音效-游戏音效2.zip”显然是为了辅助少儿编程者在创建游戏项目时添加生动有趣的音效,从而提升游戏体验。 在Scratch中,音效和音乐是项目中的重要组成部分,...
总的来说,这个压缩包提供了一套完整的俄罗斯方块游戏音效,为使用Scratch的小开发者们提供了丰富的素材,使他们能够在构建自己的游戏项目时,增添专业且有趣的音效,提升游戏体验,同时也在实践中学习和锻炼编程...
通过分析这个项目,我们可以了解到C#编程在游戏开发中的应用,以及如何实现游戏的基本功能和音效处理。 首先,我们看到项目文件中包含了`CSHARPTetris.sln`和`CSHARPTetris.suo`两个文件。`.sln`文件是Visual ...
总的来说,Scratch少儿编程项目音效音乐素材提供了丰富的游戏音效资源,让孩子们能够在编程过程中享受到音乐和声音带来的乐趣,同时也能加深对编程原理的理解。通过实际操作,孩子们将学会如何利用这些素材,创作出...
QQ音乐音效插件是一款专为PC用户设计的增强音乐体验的软件组件,它能够显著提升音乐播放的质量,让你在聆听音乐时感受到更加细腻、丰富的音效。这款插件不仅提供了预设的音效模式,如环绕声、重低音增强、人声清晰等...
在Scratch编程中,音效和音乐是提升游戏体验的重要元素。"超级玛丽"作为经典的游戏,其音效深受玩家喜爱。本压缩包中的音频文件包含了"超级玛丽"游戏中的一些标志性音效,如开始游戏的声音、吃到金币的声音、顶蘑菇...
在实际教学中,教师可以引导孩子们探索如何利用这些音效来增强游戏的氛围,例如,当角色完成特定任务时播放特定的音效,或者根据战斗状态播放激昂或紧张的音乐。此外,还可以教导他们如何调整音效的音量、速度和循环...
在本压缩包中,“游戏娱乐”文件夹很可能包含了各种类型的游戏音效,如: 1. 角色动作:行走、跳跃、攻击、受伤等声音。 2. 交互反馈:按钮点击、开关激活、物品拾取等。 3. 游戏事件:开始、暂停、结束、胜利、...
在Android游戏开发中,音乐与音效的处理是至关重要的组成部分,它们为玩家带来沉浸式的游戏体验。本篇文章将深入探讨“太鼓达人”这类音乐节奏游戏的开发原理,通过雨松MOMO的专业讲解,我们可以了解到如何在Android...