android 音频播放器,(一)SoundPool音频播放实例
创始人
2024-11-13 21:06:59
0

1. Apk内,预定义按键与触发按键:

layout 按键定义:
            android:id="@+id/start"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAllCaps="false"
        android:text="start"/>
            android:id="@+id/pause"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAllCaps="false"
        android:text="false"/>

按键触发,代码处理:
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.start:
                playSound(1,3);
                break;
            case R.id.pause:
                mSoundpool.pause(1);
                mSoundpool.stop(1);
                break;
            default:
                break;
        }
    }

2. 创建SoundPool对象,与启动停止播放:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initSp();
        start = (Button) findViewById(R.id.start);
        pause = (Button) findViewById(R.id.pause);

        start.setOnClickListener(this);
        pause.setOnClickListener(this);

    }
    
    private void initSp() {   // 初始化 mSoundpool     
        if (Build.VERSION.SDK_INT >= 21) {
            SoundPool.Builder builder = new SoundPool.Builder();
            builder.setMaxStreams(1);
            AudioAttributes.Builder attrBuilder = new AudioAttributes.Builder();
            attrBuilder.setLegacyStreamType(AudioManager.STREAM_MUSIC);
            builder.setAudioAttributes(attrBuilder.build());
            mSoundpool = builder.build();
        } else {
            mSoundpool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
        }

            map = new HashMap();
            // 加载资源文件
            map.put(1, mSoundpool.load(this, R.raw.008, 1));
    }
    

    //  进行播放
    private void playSound(int sound, int number) {
    mSoundpool.play( sound, 
                 1,       // leftVolume
                 1,       // rightVolume
                 1,       // priority
                 number,  // loop
                (float)1);// rate,1为正常速度
    }


3. 按照,如上最简步骤进行调试,即可通过Soundpool类对象Api进行音频播放测试。 

相关内容

热门资讯

一分钟举措!微信小程序游戏修改... 一分钟举措!微信小程序游戏修改器,新西游大厅辅助(辅助)确实存在有平台(哔哩哔哩)1、起透看视 微信...
2分钟积累!功夫川麻小程序有挂... 2分钟积累!功夫川麻小程序有挂吗,九游辅助破解版(辅助)一直是有辅助(哔哩哔哩)1、打开软件启动之后...
八分钟妙计!打两圈兴化打两圈外... 八分钟妙计!打两圈兴化打两圈外g挂,蛮王大厅脚本辅助(辅助)其实有挂修改器(哔哩哔哩)1)打两圈兴化...
五分钟积累!广西老友玩有破解吗... 五分钟积累!广西老友玩有破解吗,金虎爷有挂吗(辅助)其实真的是有辅助(哔哩哔哩)1、玩家可以在广西老...
五分钟积累!789大菠萝脚本,... 五分钟积累!789大菠萝脚本,新海贝之城开挂(辅助)果然有挂安装(哔哩哔哩)1、点击下载安装,新海贝...
第九分钟窍要!潘潘讲故事怎么开... 第九分钟窍要!潘潘讲故事怎么开挂,皇豪互娱透视科技(辅助)一贯是有下载(哔哩哔哩)潘潘讲故事怎么开挂...
第五分钟积累!丰城瓜瓜棋牌辅助... 第五分钟积累!丰城瓜瓜棋牌辅助,新九哥辅助开挂(辅助)本来是真的辅助器(哔哩哔哩)1)丰城瓜瓜棋牌辅...
第七分钟秘籍!闲来辅助最新版下... 第七分钟秘籍!闲来辅助最新版下载,财神13章脚本安全吗(辅助)确实真的有插件(哔哩哔哩)1、点击下载...
7分钟法门!微乐河南小程序辅助... 7分钟法门!微乐河南小程序辅助器免费,新九哥脚本(辅助)一直有挂脚本(哔哩哔哩)1、微乐河南小程序辅...
五分钟机巧!雀友圈斗地主有挂,... 五分钟机巧!雀友圈斗地主有挂,蜜瓜大厅小程序辅助(辅助)切实有挂插件(哔哩哔哩)1、玩家可以在蜜瓜大...