【Android】点击按钮播放音乐,再次点击停止播放
1、在res下新建raw文件夹
将音频复制粘贴至文件夹
2、代码
(1)PlatformActivity.java
public static int cnt = 0;SoundPool sp;//声明SoundPool的引用HashMap<Integer, Integer> hm;//声明HashMap来存放声音文件int currStaeamId;//当前正播放的streamId
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_platform);ImageButton btn_play = (ImageButton) this.findViewById(R.id.imagbutton_playlater);initSoundPool();//初始化声音池的方法}
public 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);}public void initSoundPool() {//初始化声音池sp = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);//创建SoundPool对象hm = new HashMap<Integer, Integer>();//创建HashMap对象//加载声音文件,并且设置为1号声音放入hm中hm.put(1, sp.load(this, R.raw.en01, 1));}public void onclickPlay(View view){//点击按钮播放音乐,再次点击停止播放if(cnt==0){cnt = 1;}else {cnt = 0;}if(cnt==1) {playSound(1, 0);//播放1号声音资源,且播放一次//提示播放即时音效Toast.makeText(PlatformActivity.this, "播放音效", Toast.LENGTH_SHORT).show();}else {sp.stop(currStaeamId);//停止正在播放的某个声音//提示停止播放Toast.makeText(PlatformActivity.this, "停止播放音效", Toast.LENGTH_SHORT).show();}}
}
(2)fragmentspeech.xml
设置一个普通的按钮就好啦,我写的是一个imagebutton
<ImageButtonandroid:id="@+id/imagbutton_playlater2"android:layout_width="22dp"android:layout_height="27dp"android:layout_marginLeft="21dp"android:layout_marginTop="30dp"android:background="#00FF0000"android:onClick="onclickPlay"android:scaleType="centerInside"android:src="@drawable/icon_play_selected03" />
3、运行结果
点击播放后
再次点击按钮
【Android】点击按钮播放音乐,再次点击停止播放相关推荐
- html点按钮展开图片,案例:点击按钮隐藏图片 再次点击显示图片
要求如题,本宝宝的代码如下: Document .hide{ display: none; } 隐藏图片 function fn(){ var img=document.getElementById( ...
- jquery实现点击按钮变灰不可点击并开始倒计时10秒特效代码
jquery实现点击按钮变灰不可点击并开始倒计时10秒特效代码 实现代码 代码解析 1.给按钮绑定一个点击事件 2.设置一个初始的时间值,决定按钮过多少秒恢复 3.进行时间判断 4.设置一个计时器 实 ...
- python 定时播放音乐_python写的定时播放音乐
import datetime import os import time import pygame from pygame import mixer from pygame.locals impo ...
- 项目--点击按钮显示资料,点击空白处隐藏资料
点击空白处隐藏资料 点击按钮显示资料在这里插入代码片 <!DOCTYPE html> <html lang="en"><head><met ...
- html怎么设置点击播放音乐,html5点击播放音乐试听按钮动画特效
特效描述:html5 点击播放 音乐试听 按钮动画特效.html5鼠标滑过或点击播放音乐试听特效 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 Examples eventType ...
- android 判断 音乐是否播放,Android如何判断当前手机是否正在播放音乐并获取有关正在播放的音乐的信息...
我想实现以下情况,以确定音乐是否正在Android手机上播放,如果是,则通过特定手势进行播放, 或单击一个按钮分享我当前正在听的音乐. 第一步是确定当前是否正在播放音乐. 一开始,我认为这有点复杂. ...
- android播放音乐(3):播放网络上的音乐
tips: 1. 播放安装包内的音乐:https://blog.csdn.net/m0_48396761/article/details/107805374 2. 播放内置存储空间.SD卡上的音乐:h ...
- 计算机休眠不播放音乐,电脑休眠后不能播放音乐怎么办
2.电脑播放不出声音怎么办 点击时间后面的三角符号,把两个选项的时间都修改为"从不",然后点击下面的"修改保存" END 打开"个性化",点 ...
- Element的input 实现带图标密码框的明密文(点击眼睛显示密码,再次点击图标隐藏密码)
更新: 新版本中,添加 show-password 属性,即可支持配置显示密码按钮:详情见:https://element.eleme.cn/#/zh-CN/component/changelog 和 ...
- 点击按钮创建一个表格 点击按钮创建一个表格 权限选择 元素的value属性操作
点击按钮创建一个表格 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
最新文章
- The last packet successfully received from the server was 1,547,682,071 milliseconds ago. The last
- HTML5圆形线性渐变,css中linear-gradient()函数是干什么的?实现线性渐变的圆形边框(代码)...
- viewer vue 文档_vue中使用viewerjs
- xgboost、随机森林和逻辑回归的优缺点
- 08_clickhouse主键/索引的工作机制(MergeTree的稀疏索引、索引的生成过程、索引的查询),数据标记的工作机制(数据存储、数据标记、数据查询、数据查询示例)(学习笔记)
- QML-关于Qt.rgba()颜色无法正常显示问题
- 将Java EE Monolith雕刻成微服务
- Java的20年:重大事件的时间表
- 如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?
- 使用postman操作ElasticSearch
- Log4j2 - java.lang.NoSuchMethodError: com.lmax.disruptor.dsl.Disruptor
- weblogic 自定义错误页面_使用 Nginx 容器为 Traefik 配置高性能通用错误页面
- Android框架揭秘电子书pdf下载
- visual studio设置背景颜色为眼睛保护色
- 计算机上找不到运行程序怎么办,Win7出现窗口提示找不到应用程序怎么办?
- wordpress Avada主题banner制作
- Clear Type之父谈阅读革命(一)
- 关于卡尔曼及卡尔曼增益的理解【精】
- Ubuntu22.04 VMWare Kernel Module Updater 失败
- 环境部署(物理手工部署):
热门文章
- Aarch64安装使用psycopg2
- 中烟新商盟杨大勇:助力发展小店经济
- 锁定计算机禁用,“关闭计算机锁定”的解决方案
- 图像合成,做一个类似制作大头贴的系统
- Oracle Database 11g安装时显示[INS-13001]环境不满足最低要求。
- python pytorch fft_用Pytorch实现FFT
- String的不可变性
- java 不可变性_JAVA不可变类(immutable)机制与String的不可变性(推荐)
- 国产AI作画神器火了,更懂中文,竟然还能做周边!
- java containskey_Java Map containsKey()用法及代码示例