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、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat