iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >深入Android MediaPlayer的使用方法详解
  • 278
分享到

深入Android MediaPlayer的使用方法详解

方法Android 2022-06-06 10:06:55 278人浏览 独家记忆
摘要

1)如何获得MediaPlayer实例:可以使用直接new的方式:MediaPlayer mp = new MediaPlayer();也可以使用create的方式,如:Med

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("Http://www.citynorth.cn/music/confucius.mp3");
MediaPlayer的setDataSource一共四个方法:
setDataSource (String path)
setDataSource (FileDescriptor fd)
setDataSource (Context context, Uri uri)
setDataSource (FileDescriptor fd, long offset, long length)
 
其中使用FileDescriptor时,需要将文件放到与res文件夹平级的assets文件夹里,然后使用:
AssetFileDescriptor fileDescriptor = getAssets().openFd("rain.mp3");
m_mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),fileDescriptor.getStartOffset(), fileDescriptor.getLength());
来设置datasource
3)对播放器的主要控制方法:
Android通过控制播放器的状态的方式来控制媒体文件的播放,其中:
prepare()和prepareAsync() 提供了同步和异步两种方式设置播放器进入prepare状态,需要注意的是,如果MediaPlayer实例是由create方法创建的,那么第一次启动播放前不需要再调用prepare()了,因为create方法里已经调用过了。
start()是真正启动文件播放的方法,
pause()和stop()比较简单,起到暂停和停止播放的作用,

seekTo()是定位方法,可以让播放器从指定的位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播放的网络文件,真正定位完成时会触发OnSeekComplete.onSeekComplete(),如果需要是可以调用setOnSeekCompleteListener(OnSeekCompleteListener)设置监听器来处理的。
release()可以释放播放器占用的资源,一旦确定不再使用播放器时应当尽早调用它释放资源。
reset()可以使播放器从Error状态中恢复过来,重新会到Idle状态。

4)设置播放器的监听器:
MediaPlayer提供了一些设置不同监听器的方法来更好地对播放器的工作状态进行监听,以期及时处理各种情况,
如: setOnCompletionListener(MediaPlayer.OnCompletionListener listener)、
setOnErrorListener(MediaPlayer.OnErrorListener listener)等,设置播放器时需要考虑到播放器可能出现的情况设置好监听和处理逻辑,以保持播放器的健壮性。

您可能感兴趣的文章:Android提高之MediaPlayer播放网络视频的实现方法Android提高之MediaPlayer播放网络音频的实现方法Android提高之MediaPlayer音视频播放浅析Android 的 MediaPlayer类Android MediaPlayer实现音乐播放器实例代码Android 使用mediaplayer播放res/raw文件夹中的音乐的实例Android实现简单音乐播放器(MediaPlayer)21天学习android开发教程之MediaPlayerandroid多媒体音乐(MediaPlayer)播放器制作代码Android多媒体应用使用MediaPlayer播放音频


--结束END--

本文标题: 深入Android MediaPlayer的使用方法详解

本文链接: https://www.lsjlt.com/news/27450.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android开发之MediaPlayer基本使用方法详解
    本文实例讲述了Android MediaPlayer基本使用方法。分享给大家供大家参考,具体如下:使用MediaPlayer播放音频或者视频的最简单例子:Java代码部分:public class MediaPlayerStudy exte...
    99+
    2023-05-31
    android mediaplayer roi
  • Android IdleHandler使用方法详解
    正文 在Android中,Handler是一个使用的非常频繁的东西,输入事件机制和系统状态,都通过Handler来进行流转,而在Handler中,有一个很少被人提起但是却很有用的东西...
    99+
    2022-11-13
    Android IdleHandler Android IdleHandler使用
  • 深入了解git rebase的使用方法
    Git是目前最流行的版本控制工具之一,它带来了一些改变,包括支持多个分支,并且有助于管理代码版本更新。当我们在团队中合作开发时,往往会遇到一些时候需要合并分支,而这时Git Rebase的使用就显得极为重要。下面我们来一起了解一下Git R...
    99+
    2023-10-22
  • Android Notification 使用方法详解
    Android Notification 使用方法详解用TaskStackBuilder来获取PendingIntent处理点击跳转到别的Activity,首先是用一般的PendingIntent来进行跳转。mBuilder = new N...
    99+
    2023-05-30
    android notification roi
  • Android HandlerThread使用方法详解
    Android HandlerThread使用方法详解HandlerThread 继承自Thread,内部封装了Looper。首先Handler和HandlerThread的主要区别是:Handler与Activity在同一个线程中,Han...
    99+
    2023-05-30
    android handlerthread roi
  • 深入理解Java main方法详解
    目录1. 深入理解 main 方法2. 在 Idea 下如何传递参数总结1. 深入理解 main 方法 解释main方法的形式:public static void main(Str...
    99+
    2024-04-02
  • Android 中RxPermissions 的使用方法详解
    Android 中RxPermissions 的使用方法详解以请求拍照、读取位置权限为例module的build.gradle: compile 'com.tbruyelle.rxpermissions2:rxpermissions:0....
    99+
    2023-05-30
    android rxpermissions mi
  • Android 中Context的使用方法详解
    Android 中Context的使用方法详解概要:Context字面意思是上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄。很多方法...
    99+
    2023-05-30
    android context roi
  • 详解Android 13种 Drawable的使用方法
    前言 关于自定义View,相信大家都已经很熟悉了。今天,我想分享一下关于自定义View中的一部分,就是自定义Drawable。 Drawable 是可绘制对象的一个抽象类,相对比View来说,它更加的纯粹,只用来处理绘制的相关...
    99+
    2023-09-02
    android android studio 自定义View Drawable java Powered by 金山文档
  • Java深入讲解Object类常用方法的使用
    目录1.Object类的常用方法2.equals()方法3.toString方法4.getClass方法5.对象运算符instanceof实例Java代码java继承 1.Objec...
    99+
    2024-04-02
  • 深入了解git checkout命令的使用方法
    Git是一种流行的版本控制系统,它允许开发人员跟踪和控制代码的更改。Git有许多命令供使用,其中之一就是git checkout。git checkout命令可以用于切换分支、还原更改以及更改工作目录中文件的状态等。在这篇文章中,我们将深入...
    99+
    2023-10-22
  • 深入解析:使用pip更改源的方法
    快速上手:pip换源方法详解,需要具体代码示例 引言:在Python开发过程中,使用pip安装第三方库是非常常见的操作。然而,由于网络的原因,有时我们会遇到pip安装速度缓慢的问题。这是因为pip默认使用的是官方源,而官方源有时...
    99+
    2024-01-16
    pip换源方法
  • 深入理解Oracle DECODE函数的使用方法
    Oracle数据库中的DECODE函数是一种非常常用的条件表达式函数,它的作用是根据不同的条件返回不同的值。本文将深入探讨Oracle DECODE函数的使用方法,并提供具体的代码示例...
    99+
    2024-03-08
    编程 oracle 深入理解 decode函数
  • Android控件AppWidgetProvider使用方法详解
    介绍AppWidgetProvider是Android中提供的用于实现桌面小工具的类,其本质是一个广播,即BroadcastReceiver,在实际的使用中,把AppWidgetProvider当成一个BroadcastReceiver即可...
    99+
    2023-05-30
    android appwidgetprovider pp
  • Android对话框使用方法详解
    对话框(Dialog)是Android系统在Activity或者其他组件运行过程中提供的一种提示机制。它可以帮助应用完成一些必要的提示功能,同时提供一些与用户交互的功能。 对话框分为...
    99+
    2024-04-02
  • Android振动器使用方法详解
    本文实例为大家分享了Android振动器使用方法的具体代码,供大家参考,具体内容如下 效果图: 选择相应的毫秒数,就会振动相应的秒数。 实现步骤: 一、创建activity_vib...
    99+
    2024-04-02
  • Android ExpandableListView使用方法案例详解
    目录一、前言二、实现的功能三、具体代码1、主xml代码2、父布局xml代码3、子布局xml代码4、主activity代码5、adapter代码一、前言   “好记性不如烂笔...
    99+
    2024-04-02
  • 深入聊聊 Golang 的使用方法
    在互联网行业的大环境下,Golang(简称Go)已成为一个备受瞩目的编程语言,众多互联网公司如:谷歌、阿里巴巴、腾讯等,都已将其作为主力开发语言。Go 语言在因特网时代不断壮大的背景下,以并发编程,运行速度以及简单易用的特点,受到了众多程序...
    99+
    2023-05-14
  • Android入门之bindService的用法详解
    目录介绍来看例子全代码Service注册Service类(坑来了)主运行类-MainActivity.java运行效果介绍 在前一天我们介绍了Android中有两种启动Service...
    99+
    2022-12-08
    Android bindService用法 Android bindService
  • Android入门之Service的使用详解
    目录简介什么是ServiceService的生命周期startService和bindService的区别startService ()时Service的生命周期bindServic...
    99+
    2022-12-08
    Android Service使用 Android Service
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作