android按钮添加音效,小视频源码,Android点击按钮播放音效

小视频源码,Android点击按钮播放音效相关的代码

package com.shanjing.demo01;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;

import android.media.AudioManager;

import android.media.SoundPool;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

import java.util.HashMap;

public class MainActivity extends AppCompatActivity {

private Button btn_start, btn_stop;

SoundPool sp;//声明SoundPool的引用

HashMap hm;//声明HashMap来存放声音文件

int currStaeamId;//当前正播放的streamId

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn_start = findViewById(R.id.btn_start);

btn_stop = findViewById(R.id.btn_stop);

initSoundPool();//初始化声音池的方法

btn_start.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

playSound(1, 0);//播放1号声音资源,且播放一次

//提示播放即时音效

Toast.makeText(MainActivity.this, "播放即时音效", Toast.LENGTH_SHORT).show();

}

});

btn_stop.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

sp.stop(currStaeamId);//停止正在播放的某个声音

//提示停止播放

Toast.makeText(MainActivity.this, "停止播放即时音效", Toast.LENGTH_SHORT).show();

}

});

}

private void playSound(int sound, int loop) {//获取AudioManager引用

AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

//获取当前音量

float streamVolumeCurrent = am.getStreamVolume(AudioManager.STREAM_MUSIC);

//获取系统最大音量

float streamVolumeMax = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

//计算得到播放音量

float volume = streamVolumeCurrent / streamVolumeMax;

//调用SoundPool的play方法来播放声音文件

currStaeamId = sp.play(hm.get(sound), volume, volume, 1, loop, 1.0f);

}

private void initSoundPool() {//初始化声音池

sp = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);//创建SoundPool对象

hm = new HashMap();//创建HashMap对象

//加载声音文件,并且设置为1号声音放入hm中

hm.put(1, sp.load(this, R.raw.a, 1));

}

}

以上就是小视频源码,Android点击按钮播放音效相关的代码, 更多内容欢迎关注之后的文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值