• 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;
        }
    }

  • 相关阅读:
    WCF三种通信方式
    Linux发布WebApi
    Supervisor Linux程序进程管理
    Centos安装Mongodb
    本地网址连不上远程mysql问题
    .Net之垃圾回收算法
    .Net之托管堆资源分配
    Centos7+ASP.Net Core 运行
    ASP .Net Core 使用 Dapper 轻型ORM框架
    转载 Jquery中AJAX参数详细介绍
  • 原文地址:https://www.cnblogs.com/xl711436/p/3060477.html
Copyright © 2020-2023  润新知