018_04音效

 1 package com.example.day18_05gameaudiodemo;
 2
 3 import java.io.IOException;
 4
 5 import android.app.Activity;
 6 import android.media.AudioManager;
 7 import android.media.MediaPlayer;
 8 import android.media.SoundPool;
 9 import android.os.Bundle;
10 import android.os.Environment;
11 import android.view.Menu;
12 import android.view.MenuItem;
13 import android.view.View;
14 import android.view.View.OnClickListener;
15 import android.widget.Button;
16
17 public class MainActivity extends Activity implements OnClickListener {
18
19     private SoundPool sp;
20     private int sound1;
21     private int sound2;
22     private int sound3;
23     private MediaPlayer mediaPlayer;
24
25     @Override
26     protected void onCreate(Bundle savedInstanceState) {
27         super.onCreate(savedInstanceState);
28         setContentView(R.layout.activity_main);
29
30         Button bt_gb = (Button) findViewById(R.id.bt_bg);
31         Button bt_shoot1 = (Button) findViewById(R.id.bt_shoot1);
32         Button bt_shoot2 = (Button) findViewById(R.id.bt_shoot2);
33         Button bt_shoot3 = (Button) findViewById(R.id.bt_shoot3);
34
35
36         bt_gb.setOnClickListener(this);
37         bt_shoot1.setOnClickListener(this);
38         bt_shoot2.setOnClickListener(this);
39         bt_shoot3.setOnClickListener(this);
40
41
42         sp = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
43         sound1 = sp.load(this, R.raw.shoot1, 1);
44         sound2 = sp.load(this, R.raw.shoot2, 1);
45         sound3 = sp.load(this, R.raw.shoot3, 1);
46
47         mediaPlayer = new MediaPlayer();
48         mediaPlayer.reset();
49         try {
50             mediaPlayer.setDataSource(Environment.getExternalStorageDirectory()
51                         .getAbsolutePath() + "/bgmusic.mp3");
52             mediaPlayer.prepare();
53         } catch ( Exception e) {
54             // TODO Auto-generated catch block
55             e.printStackTrace();
56         }
57
58     }
59
60     @Override
61     public void onClick(View v) {
62         // TODO Auto-generated method stub
63         switch (v.getId()) {
64         case R.id.bt_bg:
65             if (mediaPlayer!=null) {
66                 mediaPlayer.start();
67             }
68             break;
69         case R.id.bt_shoot1:
70             sp.play(sound1, 1, 1, 0, 0, 1);
71             break;
72         case R.id.bt_shoot2:
73             sp.play(sound2, 1, 1, 0, 0, 1);
74
75                  break;
76         case R.id.bt_shoot3:
77             sp.play(sound3, 1, 1, 0, 0, 1);
78
79                  break;
80         default:
81             break;
82         }
83     }
84
85
86
87
88 }
时间: 2024-11-15 03:52:45

018_04音效的相关文章

(九十五)音效播放方法和工具类的制作

音效通过AVFoundation框架实现,是通过函数而不是方法,因此需要进行桥接等操作,具体步骤如下. 进行音效播放,首先要得到音效的URL(只能是本地音频),然后转换为音效ID(唯一),通过ID播放音效. [音效播放方法] ①导入框架主头文件 #import <AVFoundation/AVFoundation.h> ②通过Bundle拿到本地音效,然后调用AudioServicesCreateSystemSoundID函数得到音效ID,ID为0代表无效,以此为依据可进行懒加载 @inter

Android 学习笔记之三—— 音效的使用

在开发手电筒应用的处理音效的过程中,看网上使用的是MediaPlayer,因为音效一般都比较短,所以这里使用的是SoundPool,如下: SoundPool soundPool=new SoundPool(2,AudioManager.STREAM_MUSIC,0); //第一个参数,2为可以同时播放两个音效,第二是使用什么音频流,第三个暂未使用,传0. AssetManager assetMgr=getAssets();  AssetFileDescriptor assetfileDescr

Cocos2d-x实例:设置背景音乐与音效-设置场景实现

设置场景(Setting),Setting.h文件代码如下: [html] view plaincopy #ifndef __Setting_SCENE_H__ #define __Setting_SCENE_H__ #include "cocos2d.h" #include "SimpleAudioEngine.h" class Setting : public cocos2d::Layer { bool isEffect;                    

IOS开发之音效/音频播放

音频播放: 1.音效播放 2.音乐播放 (1)音频播放 : <1>系统声音 短小的声音 使用的框架 AudioToolBox <2>1.AudioServicesPlaySystemSound 播放系统声音 2.AudioServicesPlayAlertSound播放系统声音有震动 <3>使用: 1.声明声音的ID  通过声音的id来区分是哪一个音效  无符号整形 2.创建声音的服务 (告诉系统有一个可以使用的soundID) 需要声音文件路径和声音的ID 3.播放声

ios 短音效的使用

1.通用短音效ID的获取 #import <Foundation/Foundation.h> @interface MJAudioTool : NSObject /** * 播放音效 * * @param filename 音效文件名 */ + (void)playSound:(NSString *)filename; /** * 销毁音效 * * @param filename 音效文件名 */ + (void)disposeSound:(NSString *)filename; @end

游戏中的音效

1. 游戏中的即时音效: 在游戏中,根据情况播放的即时音效较为短暂.可以重复.也可以同时播放.由于Android中提供的MediaPlayer会占用大量的系统资源,而且播放时还会进行缓冲,有较大的延时,因此使用MediaPlayer无法实现即时音效的播放.而在Android中专门提供的SoundPool类主要用于管理和播放应用程序中的声音资源,使用该类时首先需要通过该类将声音资源加载到内存中,然后在需要的即时音效的地方播放即可,几乎没有延时现象.[由于SoundPool设计的初衷是用于无延时地播

Unity3D音乐音效研究-MIDI与波表

其实音乐音效这个命题本身没什么好研究的. Unity3D提供了丰富的结构和使用方式,足够使用了. 但是我有一些小小的想法和需求,一般的Unity资料并没有给我答案. 一个是容量要小.MP3.OGG的高音质压缩一分钟一M多,多放几首背景音乐就顶不住了. 一个是资源和主程序分离,方便更新,别和我提AssetBundle,这东西的平台不兼容性,完全是在增加麻烦. 还有就是想要一个示波器 像这样的就行了. 问题1.最小不过MIDI,MIDI是乐曲的原始信息,本地合成,1M多MP3不过一分钟,MIDI录一

Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现

为了进一步了解背景音乐和音效播放的,我们通过一个实例给大家介绍一下.如下图所示有两个场景:HelloWorld和Setting.在HelloWorld场景点击"游戏设置"菜单可以切换到Setting场景,在Setting场景中可以设置是否播放背景音乐和音效,设置完成后点击"OK"菜单可以返回到HelloWorld场景. 我们需要在AppDelegate中实现背景音乐播放暂停与继续函数,AppDelegate.h文件代码如下: #ifndef _APP_DELEGAT

IOS_AudioToolbox音效

1.AudioToolbox概述 通过AudioToolbox框架,可以将短声音注册到system sound服务上,被注册到system sound服务上的声音称之为 system sounds.它必须满足下面几个条件. (1).播放的时间不能超过30秒 (2).数据必须是 PCM或者IMA4流格式 (3).必须被打包成下面三个格式之一:Core Audio Format (.caf), Waveform audio (.wav), 或者 Audio Interchange File (.ai