本文对Android中MediaPlayer的使用进行了详细的分析和介绍,供大家参考。
1)如何获得MediaPlayer实例:可以直接new:media player MP=new media player();也可以使用create方法,如:media player MP=media player . create(this,r . raw . test);//此时不需要调用setDataSource
2) 如何设置要播放的文件:媒体播放器要播放的文件主要有三个来源:a. 用户在应用中事先自带的resource资源例如:mediaplayer.create (this,r . raw . test);b. 存储在SD卡或其他文件路径下的媒体文件例如:MP . set data source('/SD card/test . MP3 ');c. 网络上的媒体文件例如:MP。set data source(' 3358 www . city north . cn/music/confirmation . MP3 ');
MediaPlayer的setDataSource一共四个方法:set data source(String path)set data source(FileDescriptor FD)set data source(Context Context,Uri)set data source(file descriptor FD,Long offset,long length)使用file descriptor时,需要将文件放在与res文件夹同级的assets文件夹中,然后使用:assetfile descriptor file descriptor=get assets()。openfd(' rain . MP3 ');m _ media player . set data source(file descriptor . getfile descriptor()、fileDescriptor.getStartOffset()、file descriptor . getlength());要设置数据源
3)对播放器的主要控制方法:Android通过控制播放器的状态来控制媒体文件的播放,其中:prepare()和prepareAsync()提供了同步和异步的方式来设置播放器进入准备状态。需要注意的是,如果MediaPlayer实例是由create方法创建的,那么在第一次开始回放之前就不需要调用prepare(),因为它已经在create方法中被调用过了。Start()是真正开始文件播放的方法,pause()和stop()比较简单,起到暂停和停止播放的作用。
SeekTo()是一种定位方法,允许播放器从指定位置开始播放。需要注意的是,这个方法是一个异步方法,也就是说当方法返回时,并不意味着定位完成,尤其是对于播放的网络文件。OnseekComplete()会在真正定位完成时触发。如有必要,可以调用SetOnseekComplete Listener(OnseekComplete Listener)来设置用于处理的侦听器。Release()可以释放播放器占用的资源。一旦确定不再使用播放器,就要尽快调用释放资源。Reset()可以使播放器从错误状态恢复,回到空闲状态。
4)设置播放器的监听器:MediaPlayer提供了一些设置不同显示器的方法,更好的监控播放器的工作状态,以便及时处理各种情况。例如SetOnCompletionListener(媒体播放器。OnCompletionListener)、SetOnErrorListener(媒体播放器。在错误监听器上)等。在设置播放器时,必须考虑到播放器可能出现的情况,并设置监控和处理逻辑,以保持播放器的健壮性。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。