Android开发之MediaPlayer多媒体(音频,视频)播放工具类

 更新时间:2017年12月15日 10:01:28   作者:LovooGod  
这篇文章主要介绍了Android开发之MediaPlayer多媒体(音频,视频)播放工具类,涉及Android针对音频文件的读取、播放、暂停、继续等操作实现技巧,需要的朋友可以参考下

本文实例讲述了Android开发之MediaPlayer多媒体(音频,视频)播放工具类。分享给大家供大家参考,具体如下:

package com.android.imooc.chat;
import java.io.IOException;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnErrorListener;
/**
 * @描述 声音控制类
 * @项目名称 App_imooc
 * @包名 com.android.imooc.chat
 * @类名 MediaHelper
 * @author chenlin
 * @date 2013年6月17日 下午10:46:01
 * @version 1.0
 */
public class MediaHelper {
  private static MediaPlayer mPlayer;
  private static boolean isPause = false;
  public static void playSound(String filePath, OnCompletionListener listener) {
    if (mPlayer == null) {
      mPlayer = new MediaPlayer();
    } else {
      mPlayer.reset();
    }
    mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mPlayer.setOnCompletionListener(listener);
    mPlayer.setOnErrorListener(new OnErrorListener() {
      @Override
      public boolean onError(MediaPlayer mp, int what, int extra) {
        mPlayer.reset();
        return false;
      }
    });
    try {
      mPlayer.setDataSource(filePath);
      mPlayer.prepare();
    } catch (IllegalArgumentException e) {
      e.printStackTrace();
    } catch (SecurityException e) {
      e.printStackTrace();
    } catch (IllegalStateException e) {
      e.printStackTrace();
    } catch (IOException e) {
      throw new RuntimeException("读取文件异常:" + e.getMessage());
    }
    mPlayer.start();
    isPause = false;
  }
  public static void pause() {
    if (mPlayer != null && mPlayer.isPlaying()) {
      mPlayer.pause();
      isPause = true;
    }
  }
  // 继续
  public static void resume() {
    if (mPlayer != null && isPause) {
      mPlayer.start();
      isPause = false;
    }
  }
  public static void release() {
    if (mPlayer != null) {
      mPlayer.release();
      mPlayer = null;
    }
  }
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作json格式数据技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android中发送有序广播案例代码

    Android中发送有序广播案例代码

    本篇文章主要介绍了Android中发送有序广播案例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Android 控件GridView使用案例讲解

    Android 控件GridView使用案例讲解

    这篇文章主要介绍了Android 控件GridView使用案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Android中aapt命令实践

    Android中aapt命令实践

    本篇文章给大家详解了Android aapt命令介绍及常用命令实践,有这方面需求的朋友跟着学习下吧。
    2018-01-01
  • Android实现语音数据实时采集、播放

    Android实现语音数据实时采集、播放

    这篇文章主要介绍了android实现语音数据实时采集、播放的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 使用RecyclerView实现瀑布流高度自适应

    使用RecyclerView实现瀑布流高度自适应

    这篇文章主要为大家详细介绍了使用RecyclerView实现瀑布流高度自适应,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Android性能之冷启动优化详析

    Android性能之冷启动优化详析

    这篇文章主要给大家介绍了关于Android性能之冷启动优化的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • Android中通过反射实现圆角ImageView代码实例

    Android中通过反射实现圆角ImageView代码实例

    这篇文章主要介绍了Android中通过反射实现圆角ImageView代码实例,本文直接给出核心实现代码,需要的朋友可以参考下
    2015-04-04
  • Android中巧妙的实现缓存详解

    Android中巧妙的实现缓存详解

    采用缓存,可以进一步大大缓解数据交互的压力,有的时候为了快速查询会被多次调用的数据,或者构建比较废时的实例,我们一般使用缓存的方法。无论大型或小型应用,灵活的缓存可以说不仅大大减轻了服务器的压力,而且因为更快速的用户体验而方便了用户。下面来一起看看吧。
    2016-11-11
  • 详解Android OkHttp完全解析

    详解Android OkHttp完全解析

    本篇文章主要介绍了Android OkHttp完全解析,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Android中实现GPS定位的简单例子

    Android中实现GPS定位的简单例子

    这篇文章主要介绍了Android中实现GPS定位的简单例子,例子逻辑清晰,但相对简单了些,需要的朋友可以参考下
    2014-07-07

最新评论