• 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");//根据自己实际资源编写

    后续:同事在使用过程中发现有时会没有声音,这里最好改成单例模式。
  • 相关阅读:
    how to singleton pattern !
    n6600 支持keepalive吗?
    6600的几个不可能的任务!
    Heyy.... i am back with 100 Apps for nokia 6600!
    http client chunked implement via sun
    Excel公司正式发售WinA&D 4.0
    快速开发rails、==常用插件==
    单独使用ActionMailer作为邮件发送器为迩的程序发送报告
    如何在win7上添加自动启动项
    gem install 报错或是太慢,gem install 本地安装
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/10128827.html
Copyright © 2020-2023  润新知