android的MediaPlayer.create方法怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android的MediaPlayer.create方法怎么用相关的知识,希望对你有一定的参考价值。

android的MediaPlayer包含了Audio和video的播放功能
关于MediaPlayer的使用方式:

1.如何获得MediaPlayer实例:
可以使用直接new的方式:
MediaPlayer mp = new MediaPlayer();
也可以使用create的方式,如:
MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//这时就不用调用setDataSource了

2.如何设置要播放的文件:
MediaPlayer要播放的文件主要包括3个来源:
a. 用户在应用中事先自带的resource资源
例如:MediaPlayer.create(this, R.raw.test);
b. 存储在SD卡或其他文件路径下的媒体文件
例如:mp.setDataSource("/sdcard/test.mp3");
c. 网络上的媒体文件
例如:mp.setDataSource("mp3或者mp4的地址");

3.MediaPlayer常用API
MediaPlayer的setDataSource一共四个方法:
setDataSource (String path)
setDataSource (FileDescriptor fd)
setDataSource (Context context, Uri uri)
setDataSource (FileDescriptor fd, long offset, long length)

对播放器的主要控制方法:
Android通过控制播放器的状态的方式来控制媒体文件的播放,其中:

1.prepare()和prepareAsync() 提供了同步和异步两种方式设置播放器进入prepare状态,需要注意的是,如果MediaPlayer实例是由create方法创建的,那么第一次启动播放前不需要再调用prepare()了,因为create方法里已经调用过了。
2. start()是真正启动文件播放的方法
3.pause()和stop()比较简单,起到暂停和停止播放的作用
4.seekTo()是定位方法,可以让播放器从指定的位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播放的网络文件,真正定位完成时会触发OnSeekComplete.onSeekComplete(),如果需要是可以调用setOnSeekCompleteListener(OnSeekCompleteListener)设置监听器来处理的。
5.release()可以释放播放器占用的资源,一旦确定不再使用播放器时应当尽早调用它释放资源。
6.reset()可以使播放器从Error状态中恢复过来,重新会到Idle状态。
参考技术A 播放指定SD卡上的音乐,用mMediaPlayer.setDataSource("\sdcard\")便设置要播放的文件的路径,然后调用start(),stop(),pause()便可实现开始,停止和暂停播放的功能。
而如果是应用中自带的音乐(如游戏中的音效),就是不是sdcard中的音乐了,一般情况下会存在应用目录下的''res\aw\'下,如何设定音乐的播放路径呢,很简单,只需把setDataSource()方法改成由create方法来创建的一个指定资源索引的MediaPlayer对象即可,即,mMediaPlayer = MediaPlayer.create(Context context, int resid),在这个方法中,我被resid这个资源ID纠结了一段时间 ,不知道如何定义这个资源ID,我将ok.mp3这个音乐文件放在res下的drawable-mdpi目录下,然后将resid设定为R.drawable.ok发现报错,搞的不知所错,接着我又尝试在drawable-mdpi目录下建立test文件,然后将ok.mp3文件放在其目录下,依旧报错,追究原因是我不理解资源ID的意思,后来只能查看书上自带的源码,才解决问题,原来,是在res目录下建立了一个raw文件,然后将ok.mp3文件放在目录下,然后设定resid为R.raw.ok即可,其中raw应该指定的是res目录下的文件目录吧(不是很清楚哦),然后OK指的是MP3音乐文件的名字。
在解决问题的过程中还无意看到有人总结的create()方法的应用,先留下来,慢慢尝试看看吧!即运用
方法:create(Context context, Uri uri) 解释:静态方法,通过Uri创建一个多媒体播放器。
例: Uri playUri = Uri.parse("/sdcard/download/mp3.mp3");
releaseMediaPlayer();
mMediaPlayer = MediaPlayer.create(mContext, playUri);
mMediaPlayer.start();

版权属于网易博友smily_happy博客

Android中常见的权限

参考技术A 1.Android中的常见权限分为两种:

(1).普通权限

(2).危险权限

2.Android6.0前后权限解决方案

Android 6.0 (API 23) 之前应用的权限在安装时全部授予,运行时应用不再需要询问用户。在 Android 6.0 或更高版本对权限进行了分类,对某些涉及到用户隐私的权限可在运行时根据用户的需要动态授予。这样就不需要在安装时被强迫同意某些权限。

3.Android中9大权限详情

Android系统对所有的危险权限进行了分组,称为 权限组 。属于同一组的危险权限将自动合并授予,用户授予应用某个权限组的权限,则应用将获得该权限组下的所有权限(前提是相关权限在 AndroidManifest.xml 中有声明)。

以上是关于android的MediaPlayer.create方法怎么用的主要内容,如果未能解决你的问题,请参考以下文章

Android游戏开发大全的目录

转Android开发学习总结——搭建最新版本的Android开发环境

Android工程师的概述

Android中常见的权限

Android各个版本的介绍

Android Studio查看Android源码报红