Android音视频——系统播放器介绍(一)

简介: Android音视频——系统播放器介绍(一)

相信大家看到这个标题就能想到,本篇讲的是什么播放器了,没错就是MediaPlayer

分享一首动听的纯音乐Shut The Window!image.png相信有不少人都用过它,但是有少人是只停留在用的阶段呢,下一篇文章会接着详细介绍各个状态下的生命周期,本篇对新人友好一点,先简单讲一下相关知识点及调用。


什么是MediaPlayer

MediaPlayer是Android自带的一个多媒体播放类,它可以用来播放音视频文件,或者是音频文件,我们可以用它来播放本地音频,或者是网络在线音频。

属于 android.media 包下


状态

List item

Idle

End

Error

Initialized

Preparing

Prepared

Started

Stopped

Paused

PlaybackCompleted

需要权限

播放网络音频时需要 Manifest.permission.INTERNET 权限。

权限这是重点


定义及初始化

    private val mediaPlayer: MediaPlayer = MediaPlayer()
    private fun initMediaPlayer() {
        try {
        // R.raw.video 就是大家需要播放的本地文件
            mediaPlayer = MediaPlayer.create(this, android.R.raw.video)
            mediaPlayer.prepare()
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }

播放路径

(1)调用本地或网络

mediaPlayer.setDataSource(path)
• 1

path可以是内存卡上的目录,可以是项目导入的文件,也可以是资源网址url(http://…/.mp3)

使用该方法,切记要申请权限(读写权限、访问网络)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET" />
网络授权:在AndroidMainManifest文件里面package下面插入上面这一句

6.0以后要求动态申请


(2)打包到项目

在res中创建raw文件夹,将音乐放入,就可以使用:


mediaPlayer = MediaPlayer.create(this,R.raw.video)

1

使用方法

initMediaPlayer()

mediaPlayer.start()

1

2

销毁方法

mediaPlayer.stop()

mediaPlayer.release()


目录
相关文章
|
7天前
|
编解码 网络协议 开发工具
Android平台RTSP|RTMP直播播放器技术接入说明
大牛直播SDK自2015年发布RTSP、RTMP直播播放模块,迭代从未停止,SmartPlayer功能强大、性能强劲、高稳定、超低延迟、超低资源占用。无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以Android平台为例,介绍下如何集成RTSP、RTMP播放模块。
|
1月前
|
搜索推荐 Android开发 iOS开发
探索安卓与iOS系统的用户界面设计哲学
现代移动操作系统的设计哲学不仅仅是技术的表现,更是用户体验与功能实现的结合。本文将深入分析安卓与iOS两大主流系统在用户界面设计方面的差异与共通之处,探讨它们背后的思维模式及其对用户体验的影响。 【7月更文挑战第11天】
|
2月前
|
XML 存储 数据库
如何使用Android Studio创建一个基本的音乐播放器应用
如何使用Android Studio创建一个基本的音乐播放器应用
58 0
|
7天前
|
编解码 开发工具 Android开发
Android平台RTSP|RTMP播放器如何实现TextureView渲染
本文介绍了在Android平台上使用TextureView进行RTSP和RTMP视频流渲染的技术背景和实现方法。TextureView相较于SurfaceView具备更高性能、更强功能性和更灵活的绘制方式等优势,但也有必须在硬件加速环境下运行和较高内存占用等局限。文中详细展示了如何在SmartPlayerV2工程中创建和配置TextureView,并通过代码示例解释了如何根据视频分辨率信息调整显示比例,以及处理TextureView的各种生命周期回调。此外,还列举了该播放器SDK支持的多项高级功能,如多实例播放、多种编码格式支持、硬解码能力等,旨在帮助开发者更好地理解和实现高性能的直播播放器。
|
7天前
|
算法 数据处理 开发工具
Android平台RTSP|RTMP播放器如何回调YUV或RGB数据
在开发Android平台上的RTSP或RTMP播放器时,开发者不仅追求低延迟播放,还希望获取解码后的视频数据(如YUV或RGB格式),以便进行视觉算法分析。使用大牛直播SDK中的SmartPlayer,可在确保播放流畅的同时,通过设置外部渲染器(`SmartPlayerSetExternalRender`)来高效地回调原始视频数据。例如,对于RGBA数据,需实现`NTExternalRender`接口,并重写相关方法以处理数据和尺寸变化。同样地,对于I420(YUV)数据,也需要相应地实现接口以满足需求。这种方式使得开发者能在不影响常规播放功能的情况下,进行定制化的视频处理任务。
|
1月前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
84 15
|
12天前
|
搜索推荐 安全 Android开发
安卓与iOS的较量:哪个系统更适合你?
在智能手机市场中,安卓和iOS两大操作系统一直占据主导地位。本文将从多个方面对这两个系统进行比较,以帮助读者更好地了解它们之间的区别和优劣。我们将重点关注它们的用户界面、性能、安全性、应用生态等方面。无论您是安卓粉丝还是iOS忠实拥趸,这篇文章都将为您提供有价值的信息。让我们一起探索这两个系统的世界吧!
|
2月前
|
存储 监控 调度
Android系统服务:WMS、AMS相关知识
参考文献 Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析 Android窗口管理服务WindowManagerService显示Activity组件的启动窗口(Starting Window)的过程分析 Android窗口管理服务WindowManagerService对输入法窗口(Input Method Window)的管理分析 Android窗口管理服务WindowManagerService显示窗口动画的原理分析
|
2月前
|
Java Linux Android开发
Android面试题之说说系统的启动流程(总结)
这篇文章概述了Android系统的启动流程,从Boot Rom到Zygote进程和SystemServer的启动。init进程作为用户级别的第一个进程,负责创建文件目录、初始化服务并启动Zygote。Zygote通过预加载资源和创建Socket服务,使用fork函数生成SystemServer进程。fork过程中,子进程继承父进程大部分信息但具有独立的进程ID。Zygote预加载资源以减少后续进程的启动时间,而SystemServer启动众多服务并最终开启Launcher应用。文中还讨论了为何从Zygote而非init或SystemServer fork新进程的原因。
52 2
|
1月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的高校后勤网上报修系统安卓app附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的高校后勤网上报修系统安卓app附带文章源码部署视频讲解等
29 0