Android MediaPlayer播放raw资源封装类
import android.content.Context;
import android.media.MediaPlayer; import xxxx.R; public class MediaUtil {
MediaPlayer mPlayer=null;
Context context;
public MediaUtil(Context context){
this.context=context;
}
//释放
public void Release()
{
if (mPlayer != null && mPlayer.isPlaying()) {
mPlayer.stop();
mPlayer.release(); } }
public int GetStringID(String str)
{
if(str=="xxxxx")return R.raw.xxxx;///下面把要写的rawid 复制粘贴到此处
}
//播放语音
public void PlaySound(String text)
{
if (mPlayer!=null){ //判断当mPlayer不为空的时候
mPlayer.stop(); //先结束上一个播放内容
mPlayer.Release();
}
mPlayer = MediaPlayer.create(context, GetStringID(text)); //添加本地资源
mPlayer.setLooping(false);//设置不循环
mPlayer.start(); //开始播放
}
//播放语音
public void PlaySound(int id)
{
if (mPlayer!=null){ //判断当mPlayer不为空的时候
mPlayer.stop(); //先结束上一个播放内容
mPlayer.Release();
}
mPlayer = MediaPlayer.create(context, id); //添加本地资源
mPlayer.setLooping(false);//设置不循环
mPlayer.start(); //开始播放
}
public int getResource(String resName){
int resId = context.getResources().getIdentifier(resName,"raw",context.getPackageName());
return resId;
}
}
使用方法
1、MediaUtil mediaUtil;
OnCreate中
2、mediaUtil= new MediaUtil(this);
OnDestory中
3、mediaUtil.Release();
调用地方:
4、mediaUtil.PlaySound("xxx");//根据自己实际资源编写
后续:同事在使用过程中发现有时会没有声音,这里最好改成单例模式。
Android MediaPlayer播放raw资源封装类的更多相关文章
- Android开发 MediaPlayer播放raw资源MP3文件
代码 private MediaPlayer mRingPlayer; /** * 播放铃声 */ private void startRing(){ if (mRingPlayer != null) ...
- Android(java)学习笔记180:Android MediaPlayer 播放prepareAsync called in state 8解决办法
使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误. 以下方法可以避免这个异常出现. 第一种方法: private ...
- Android(java)学习笔记123:Android MediaPlayer 播放prepareAsync called in state 8解决办法
1. 使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误. 以下方法可以避免这个异常出现. 第1种方法: priva ...
- Android MediaPlayer 播放音频
本文链接: Android MediaPlayer 播放音频 主要介绍使用MediaPlayer播放音频的方式.关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPla ...
- Android MediaPlayer播放一般音频与SoundPool播放短促的音效
[1]使用MediaPlayer实现一般的音频播放 MediaPlayer播放通常的音频文件 MediaPlayer mediaPlayer = new MediaPlayer(); if (medi ...
- Android MediaPlayer播放音乐并实现进度条
提前工作,往sd卡里放音乐文件 1.布局文件main.xml <?xml version="1.0" encoding="utf-8"?> < ...
- Android MediaPlayer播放项目res/raw和res/assets下的音频文件
1..播放res/raw //方法一:根据音频文件的ID来创建MediaPlayer MediaPlayer mp = new MediaPlayer(this,R.raw.test); mp.sta ...
- MediaPlayer 播放assets 文件夹下面的视频报错
Android MediaPlayer 播放assets 文件夹下面的视频报错 报下面的错: java.io.FileNotFoundException: This file can not be o ...
- Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化
效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...
随机推荐
- 【BZOJ2034】最大收益(贪心)
[BZOJ2034]最大收益(贪心) 题面 BZOJ 题解 首先显然让价值越大的占用一个时刻一定更优. 所以把所有东西按照价值排序之后来处理,那么显然就是把前面的全部放好之后,考虑来放当前这个东西,如 ...
- 【mysql】mysql常用语句
返回不重复数据 SELECT DISTINCT user_name,vistor_username FROM KY_FEED_VISTOR WHERE user_name='shenhy' 单独的di ...
- urls 管理
问题阐述:如何管理多个app下的路由分发,使得管理更加清晰? 1. 在app下创建urls.py文件 from django.conf.urls import url from django.urls ...
- 编译安装Nginx和PHP(带编译mysql)
应用场景:目前常见的LNMP架构中很多服务都采用nginx+fastcgi+php来提供服务. 测试环境:Centos 7.2 / Nginx 1.12.0 / PHP 5.6 配置步骤: 1. 下载 ...
- 闲聊javascript继承和原型
javascript继承已经是被说烂的话题了,我就随便聊一点~ 一.javascript的复制继承 javascript的继承有复制继承和原型继承,基于复制继承用的不太多,而且无法通过instance ...
- Django 路由报错友好提示
这个方法要在设置路由文件内使用也就是urls.py内. """mysite URL Configuration The `urlpatterns` list routes ...
- 第三篇-Django建立数据库各表之间的联系(下)
中篇介绍的是添加,下篇主要介绍查询 通过一个Book表的书的信息查询Publish表中出版社的信息 def addbook(request): # Book.objects.create(name=& ...
- Python 的内置函数
函数 功能 示例 示例结果 abs(x) 返回x的绝对值 abs(-2) 2 chr(x) 返回整数x所代表的字符 chr(65) A divmod(x,y) 返回x除以y的商和余数的元组 divmo ...
- JDBC动态查询MySQL中的表(按条件筛选)
动态查询实现按条件筛选.PreparedStatement 准备语句指定要查询的表头列,.setString()通过赋值指定行,.executeQuery()执行语句 在数据库test里先创建表sch ...
- (栈)leetcode 946. Validate Stack Sequences
Given two sequences pushed and popped with distinct values, return true if and only if this could ha ...