当前课程知识点:Android应用开发基础 > 第八章 多媒体 > 8.2 音视频服务 > 8.2 音视频服务
本节我们介绍Android的音视频服务
现在Android智能手机都会提供音视频的功能
大部分的应用中
视频分享已成为主要的信息的载体
到2020年
视频将占到数据中心
和终端用户传输总流量85%
比如抖音
快手
目前都是用户量非常大的视频应用
音视频也需要使用Android的系统服务
如图所示
Android系统为了降低系统服务的编程难度
研发了大量Manager组件
这些独立的管理组件
可以简化访问系统服务的难度
我们主要通过Video Manager和Audio Manager
去访问系统的音视频服务
首先我们要将播放的音频和视频文件
放入sdcard的根目录
下面我们看一个音频的使用实例
这是一个包含播放 暂停和停止三个按钮的应用
点击播放 手机播放音乐
点击暂停 手机暂停播放
点击停止 系统停止播放
下面我们看一个视频的使用实例
这是一个包含播放
暂停和重播三个按钮的应用
点击播放 手机播放视频
点击暂停 手机暂停播放
点击停止 系统重新播放
那么Android的音频使用MediaPlayer的实现
MediaPlayer类的接口如表所示
1. setDataSource():设置要播放音频文件位置
2. prepare():开始播放音频前
调用此方法完成准备工作
3. start():开始或者继续播放音频
4. pause():暂停播放音频
5. reset():将播放器重置到初始状态
6. seekto():从指定位置播放音频
7. stop():停止播放音频
8. isPlaying():判断当前是否正在播放音频
Android音频使用MediaPlayer步骤如图所示
1. 首先创建MediaPlayer对象
2. 设置文件路径
3. prepare方法进入准备状态
4. start进入播放状态
5. pause进入暂停状态
6. reset停止播放
播放音频和视频都需要申请使用
SD卡的读写权限
步骤如下
1. 使用checkSelfPermission() 检查权限
请求某个权限时
检查这个权限是否已经被用户授权
如果已经授权
权限重复申请可能会让用户产生厌烦
权限名称为Manifest.permission.
WRITE_EXTERNAL_STORAGE
函数返回值与PackageManager.
PERMISSION_GRANTED比较
一致则代表有权限
不一致代表没有权限
2. 使用requestPermissions() 申请权限
调用后系统会显示一个
请求用户授权的提示对话框
App不能配置和修改这个对话框
如果需要提示用户这个权限
相关的信息或说明
需要在调用 requestPermissions() 之前处理
3. Activity中
重写onRequestPermissionsResult() 方法
来处理权限结果回调
当用户处理完授权操作时
系统会自动回调该方法
如果用户同意则初始化MediaPlayer
4. 在配置信文件中
设置用户的SD卡权限
那么音频文件的初始化流程如图
1. 获取文件路径
2. 指定音频文件的位置和路径
3. MediaPlayer进入到准备状态
那么视图退出需要销毁音频组件
1. 停止音频组件
2. 释放音频组件资源
音频组件的操作如图所示
视图的按钮响应函数中依次完成开始播放
暂停播放和停止播放的功能
下面我们介绍Android的视频
Android的视频呢使用VideoView类实现
VideoView类的接口如表所示
1. setVideoPath() 设置要播放视频文件路径
2. start() 开始或者继续播放视频
3. pause() 暂停播放视频
4. reset() 将播放器重置到初始状态
5. seekto() 从指定位置播放视频
6. stop() 停止播放视频
7. isPlaying() 判断当前是否正在播放视频
8. getDuration() 获取当前播放视频的时间长度
Android 视频使用MediaPlayer步骤如图所示
1. 系统申请SD卡写权限
2. 完成VideoView组件初始化
3. 设置视频文件路径
4. start进入播放状态
5. pause进入暂停状态
6. reset停止播放
申请读写SD卡权限
如图所示
1. 使用checkSelfPermission() 检查权限
请求某个权限时
检查这个权限是否已经被用户授权
如果已经被用户授权
再让用户申请的话可能会让用户产生厌烦
那么权限名称为WRITE_EXTERNAL_STORAGE
函数返回值与PackageManager.
PERMISSION_GRANTED比较
一致则代表有权限
不一致代表没有权限
2. 使用requestPermissions() 申请权限
调用后系统会显示一个
请求用户授权的提示对话框
App不能配置和修改这个对话框
如果需要提示用户
这个权限相关的信息或说明
需要在调用requestPermissions() 之前处理
3. Activity重写
onRequestPermissionsResult() 方法
来处理权限结果回调
当用户处理完授权操作时
系统会自动回调该方法
如果用户同意则初始化MediaPlayer
4. 在配置信息文件中
设置用户的SD卡权限
那么视频频组件初始化的流程如图
1. 获取文件路径
2. 指定音频文件的路径
3. 让MediaPlayer进入到准备状态
视图退出的时候
一般使用suspend方法暂停视频组件
视频组件的操作如图所示
视图的按钮响应函数中
依次完成开始播放
暂停播放
和重新播放的功能
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统