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资源封装类的更多相关文章

  1. Android开发 MediaPlayer播放raw资源MP3文件

    代码 private MediaPlayer mRingPlayer; /** * 播放铃声 */ private void startRing(){ if (mRingPlayer != null) ...

  2. Android(java)学习笔记180:Android MediaPlayer 播放prepareAsync called in state 8解决办法

    使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误. 以下方法可以避免这个异常出现.  第一种方法: private ...

  3. Android(java)学习笔记123:Android MediaPlayer 播放prepareAsync called in state 8解决办法

    1. 使用android MediaPlayer播放音频文件时,有时会出现prepareasync called in state 8错误. 以下方法可以避免这个异常出现.  第1种方法: priva ...

  4. Android MediaPlayer 播放音频

    本文链接: Android MediaPlayer 播放音频 主要介绍使用MediaPlayer播放音频的方式.关于MediaPlayer的基础知识,比如状态,可以参考Android MediaPla ...

  5. Android MediaPlayer播放一般音频与SoundPool播放短促的音效

    [1]使用MediaPlayer实现一般的音频播放 MediaPlayer播放通常的音频文件 MediaPlayer mediaPlayer = new MediaPlayer(); if (medi ...

  6. Android MediaPlayer播放音乐并实现进度条

    提前工作,往sd卡里放音乐文件 1.布局文件main.xml <?xml version="1.0" encoding="utf-8"?> < ...

  7. Android MediaPlayer播放项目res/raw和res/assets下的音频文件

    1..播放res/raw //方法一:根据音频文件的ID来创建MediaPlayer MediaPlayer mp = new MediaPlayer(this,R.raw.test); mp.sta ...

  8. MediaPlayer 播放assets 文件夹下面的视频报错

    Android MediaPlayer 播放assets 文件夹下面的视频报错 报下面的错: java.io.FileNotFoundException: This file can not be o ...

  9. Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化

    效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...

随机推荐

  1. [luogu5253]丢番图【数学】

    传送门 [传送门] 题目大意 求\(\frac{1}{x}+\frac{1}{y}=\frac{1}{n}\)有多少组不同的解. 分析 将式子转化成\((n-x)(n-y)=n^2\)的形式. 那么很 ...

  2. Qt Creator 编译测试 MQTT-C

    @2018-12-21 [小记] 创建工程步骤: a. File ---> New File or Project ---> Non-Qt Project ---> Plain C ...

  3. 天梯赛 L2-001 紧急救援

    L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道 ...

  4. 分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】

    原创: dqqzj SpringForAll社区 今天 Spring Cloud Sleuth Span是基本的工作单位. 例如,发送 RPC是一个新的跨度,就像向RPC发送响应一样. 跨度由跨度唯一 ...

  5. oh-my-zsh: bracketed-paste-magic:zle:47: not enough arguments for -U

    今天突然发现粘贴的时候就提示这个错误,通过查阅资料已经解决 解决方法 分析问题,是oh-my-zsh的bracketed-paste-magic功能出现了异常,并未找到更好的方法,暂时先禁用掉. 修改 ...

  6. java面试——多线程

    背景:java知识比较宽泛,最好对每一类知识点进行分类总结,方便后面学习查看.该文主要用来总结多线程方面的知识点. 并发与并行的概念 并发性(concurrency)和并行性(parallel)是两个 ...

  7. Python之迭代器,生成器

    迭代器 1.什么是可迭代对象 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的. from collections import Iterable l = [1,2,3,4] t ...

  8. 【译】10. Java反射——数组

    原文地址:http://tutorials.jenkov.com/java-reflection/arrays.html ======================================= ...

  9. Luogu P3305 [SDOI2013]费用流 二分 网络流

    题目链接 \(Click\) \(Here\) 非常有趣的一个题目. 关键结论:所有的单位费用应该被分配在流量最大的边上. 即:在保证最大流的前提下,使最大流量最小.这里我们采用二分的方法,每次判断让 ...

  10. C# Excel转换成Json工具(含源码)

    可执行版本下载:https://github.com/neil3d/excel2json/releases 完整项目源代码下载:https://github.com/neil3d/excel2json ...