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...