Android学习记录--音频视频播放

2023-10-11 14:08

本文主要是介绍Android学习记录--音频视频播放,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近对Android 多媒体方面进行学习 , 在此进行总结:

android中的多媒体播放都是由MediaPlayer类进行处理的 , 通过MediaPlayer 可以播放各种多媒体格式的音频以及视频文件, 包括 

1.存储在应用程序内部的资源

2.本地资源

3.Content Provider提供的资源

4.来自网络的URL 流中的资源。


通常情况下通过MediaPlayer 来播放多媒体要进行以下几个步骤:

1.对MediaPlayer进行初始化工作;

2.让MediaPlayer实例完成准备播放;

3.开始播放;

4.在播放是进行暂停,停止, 以及定位到某点播放;

5.播放完成。


Android仅支持有限个数的同步MediaPlayer对象 , 所以在播放完成之后 要注意对MediaPlayer对象进行释放。

mediaPlayer.release();


    音频的播放:

音频的播放有2种方式:
第一种 --> 
MediaPlayer mediaPlayer = new MediaPlayer();
String fileName = "Nyananaya.mp3";
//文件放在SDcard根目录 一定要进行prepare() 方法 使硬件进行准备
File fd = new File(Environment.getExternalStorageDirectory(),
fileName);

mediaPlayer.setDataSource(fd.getAbsolutePath());
mediaPlayer.prepare();
mediaPlayer.start();

通过对MediaPlayer实例进行 setDataSource方法, 可以接受一个文件路径 , ContentProvider 提供的URI , 网络URL 路径。


第二种---->

这种方式是通过 create 方式返回MediaPlayer对象 ,通过此方式创建不需要进行prepare 工作 因为在create过程中已经完成了该操作。

MediaPlayer  player = MediaPlayer.create(context , R.raw.mm);

MediaPlayer  player = MediaPlayer.create(context , Uri.parse(“file:///sdcard/mm.mp3”));

MediaPlayer  player = MediaPlayer.create(context , Uri.parse("http://www.myweb.com/mm.mp3"));

MediaPlayer  player = MediaPlayer.create(context , Settings.System.DEFAULT_RINGTONE_URI);

这篇关于Android学习记录--音频视频播放的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188572

相关文章

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class