MediaPlayer mMediaPlayer = new MediaPlayer();

设置声音源

public static final String FILENAME = "deserve.mp3";

public static final String PATH = "/mnt/sdcard/" + FILENAME;

FileInputStream fis = new FileInputStream(new File(PATH));

mMediaPlayer.setDataSource(fis.getFD());// 设置声音源

3.参数设置

mMediaPlayer.setLooping(false); // 设置是否循环

PlaybackParams playBackParams = new PlaybackParams();

playBackParams.setAudioFallbackMode(PlaybackParams.AUDIO_FALLBACK_MODE_FAIL);//设置音频后备模式

playBackParams.setSpeed(1.0f);// 调音速 --测试最大值为8.0f

playBackParams.setPitch(1.0f); // 调音调

mMediaPlayer.setPlaybackParams(playBackParams);

// 使用系统的媒体音量控制

AudioAttributes attributes = new AudioAttributes.Builder()

.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)

.setFlags(AudioAttributes.FLAG_LOW_LATENCY)

.setUsage(AudioAttributes.USAGE_MEDIA)

.setLegacyStreamType(AudioManager.STREAM_MUSIC)

.build();

mMediaPlayer.setAudioAttributes(attributes);

4.MediaPlayer播放音频

这里在MediaPlayer类中提供了两个准备的方法,一个是同步准备prepare(),一个是异步准备prepareAsync(),建议在使用时使用prepare(),异步准备方法在调用后会立即调用setOnCompletionListener()方法,使得当前歌曲结束播放。在调用prepare()或者prepareAsync()方法后调用setOnPreparedListener()方法进行准备监听,在此监听中调用start()方法进行播放。

暂停与停止

pause(): 暂停音乐播放

stop() : 停止音乐播放

reset() : 重置当前音乐

设置进度条实时显示播放进度

(1)首先应该在布局文件中添加ProgressBar(横向)或者SeekBar,在Activity中进行初始化。

(2)使用定时器来定时更新进度。

//----------定时器记录播放进度---------//

Timer mTimer = new Timer();

TimerTask mTimerTask = new TimerTask() {

@Override public void run() {

seekBar.setProgress(mp.getCurrentPosition());

mTimer.schedule(mTimerTask, 0, 10);

(3)定时器的代码应该在mMediaPlayer.setOnPreparedListener()中调用。当其开始播放时开启这个定时任务,并调用seekBar.setMax(mp.getDuration());来设置进度条的最大时间,其中mp.getDuration()是获取当前播放文件的总长度。

(4)停止播放或者结束播放时,调用mTimer.cancel();来关闭定时器。

视频播放不同之处

视频播放时要使用VideoView来进行视频的显示,此时MediaPlayer要设置一个显示器。

mMediaPlayer.setDisplay(videoView.getHolder());

** Mediaplay最详细使用方法** 在前几个星期吧 小编的公司 一直有 播放 音频 的这个 模块 但是因为小编 接触这块比较少 所以走了很多的 “丸子” 比如 狂点 播放 暂停按钮 会崩掉 new出好几个 meidiaplay 的 辣鸡操作 但是都改正了 而且 很全面 使用起来 也很简单 **首先我先说明一下我们公司的需求 ** 进入背诵界面之后 先判断本地有没有 当前需要 播放 音频 文件 有的话 直接 播放 没有 下载完成之后 播放 可以暂停 ok 那么 咱们开始 先看下效果 因为我是 mediaPlayer = new MediaPlayer (); // 绑定 播放 完毕监听器 mediaPlayer .setOnCompletionListener(this... Android 提供了简单的 音频 API。一般大家使用的是 MediaPlayer 播放 音频 ,这也是最常见的一种 播放 声音的工具。这种工具在互联网上有大量的实例,因此在此只做简单的介绍。 对 播放 行为 Reported by [emailprotected], Oct 21, 2014Description:I noticed MediaPlayer .OnCompletionListener callback behavior seems to be changed since Lollipop.[KitKat]- setLooping(false), setNext MediaPlayer (n... HD MediaPlayer 目录如何导入到项目支持jcenter方式导入。支持本地Module方式导入。jcenter方式导入在需要用到这个库的module中的build.gradle中的dependencies中加入dependencies { compile 'com.yhd.hd mediaplayer :hd mediaplayer :1.0.1' }Module方式导入下载整个工程,将hd... 这几天在做一个蓝牙设备控制手机app里面的 视频 人体模型动,想的是用蓝牙传过来的数据然后去指定 视频 播放 哪一个时间点,于是就搜了一点关于怎么控制 播放 视频 的某一时间端(的 视频 )当然这个方案可能最后不会用,但是这个知识点还是有必要记录的。 先看一下加载 视频 并控制的类的相关代码(代码可能有点乱) package com.example.getbitmap; import java.util.Arra 一:加载 音频 文件 1,第一种方式:使用create方法 static MediaPlayer create(Context contect,Uri uri):从指定Uri来装载 音频 文件,并返回新创建的 MediaPlayer 对象。 static MediaPla... 1. 由于这是技术文章,所以有些词句使用原文,表达更准确。 2. 由于水平有效,有些地方可能翻译的不够准确,如有不当之处,敬请批评指正. 3. 针对某些语句,适当补充了上下文及更适合中文阅读,尽量做到信达雅。 如果你已经成功地了解了关 Android MediaPlayer 在API 23即6.0以上支持了设置 播放 速率。下面将介绍怎么使用这个功能。接口 MediaPlayer .setPlaybackParams(PlaybackParams params) throws IllegalStateException, IllegalArgumentException接口说明:(1) 使用这个接口可以进行 播放 速率的设置。(2) 播放 器p... 会说话的Tom猫是一款非常经典的终端游戏,可爱的Tom猫可以发出不同音调的声音。 之前用过一个非常著名的开源库SoundTouch可以实现 音频 的变速变调功能,具体可参考: https://blog.csdn.net/wkw1125/article/details/63807128 Android 作为当今移动终端的霸主,多媒体的变速变调自然是要支持的,想看一下它是怎么实现的。 接口定义在Medi...