zoukankan      html  css  js  c++  java
  • 10_播放音效

    copy 音效文件 explosion.ogg 和 coin.ogg 到  assets 目录下


    import java.io.IOException;

    import android.media.AudioManager;
    import android.media.SoundPool;
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.res.AssetFileDescriptor;
    import android.content.res.AssetManager;
    import android.view.Menu;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnTouchListener;
    import android.widget.TextView;

    public class MainActivity extends Activity implements OnTouchListener {
     SoundPool soundPool;
        int explosionId = -1;
        int explosionId1 = -1;
       
        int playFlag = 0;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView textView = new TextView(this);
            textView.setOnTouchListener(this);
            setContentView(textView);

           
            setVolumeControlStream(AudioManager.STREAM_MUSIC);
            soundPool = new SoundPool(20, AudioManager.STREAM_MUSIC, 0);

            try {
                AssetManager assetManager = getAssets();
                AssetFileDescriptor descriptor = assetManager
                        .openFd("explosion.ogg");
                explosionId = soundPool.load(descriptor, 1);
               
                AssetFileDescriptor descriptor1 = assetManager
                        .openFd("coin.ogg");
                explosionId1 = soundPool.load(descriptor1, 1);
               
            } catch (IOException e) {
                textView.setText("Couldn't load sound effect from asset, "
                        + e.getMessage());
            }
        }

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_UP) {
                if (explosionId != -1) {
                 playFlag++;
                 if(playFlag %2 ==0)
                 {
                    soundPool.play(explosionId, 1, 1, 0, 0, 1);
                 }
                 else
                 {
                   soundPool.play(explosionId1, 1, 1, 0, 0, 1);
                 }
                 
                }
            }
            return true;
        }
    }

  • 相关阅读:
    tesseract的简单使用
    快速添加请求头
    1010. 一元多项式求导 (25)
    1009. 说反话 (20)
    1008. 数组元素循环右移问题 (20)
    1007. 素数对猜想 (20)
    1006. 换个格式输出整数 (15)
    素数判断
    1002. 写出这个数 (20)
    1005. 继续(3n+1)猜想 (25)
  • 原文地址:https://www.cnblogs.com/xl711436/p/3060477.html
Copyright © 2011-2022 走看看