多媒体的使用

下面介绍Android中多媒体的使用,首先学习一下通知的概念,以及学习任何调用摄像头和播放多媒体文件

使用通知

通知其实说白了就是我们在手机状态栏展示的APP应用信息,在Android8.0中用户要么全部接受一个app的通知,要么全部屏蔽
在Android8.0之后引入了通知渠道的概念,就是每条通知都要属于一个对应的渠道,每个应用程序都可以自由地创建当前拥有哪些渠道,但是这些通知渠道的控制权是掌握在用户手上的,用户可以自由选择这些通知渠道的重要程序

创建通知渠道

我们首先来看一下创建通知渠道的步骤:
首先需要一个NotificationManger对通知进行管理,通过Context的getSystemService()方法获取,这个方法接受的参数用于确定哪一个服务,查看下面例子
val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

接下来要使用NotificationChannel类构建一个通知渠道,并调用NotificationManager的createNotificationChannel()方法完成创建。有NotificationChannel是 Android 8.0的API 因此我们在使用的时候还需要进行版本判断才可以
创建一个渠道的参数说明:首先需要一个渠道ID,全局唯一即可。 渠道的用途,渠道的通知等级(IMPORTANCE_HEIGH,IMPORTANCE_DEFAULT,IMPORTANCE_LOW,IMPORTANCE_MIN)

点击查看代码

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.0)
NotificationChannel(channelId,channelName,importance)
manager.createNotificationChannel(channel)

通知的基本用法

我们用实践来看一下通知的基本用法,我们使用AndroidX中提供的一个NoticationCompat类,使用这个类的构造器创建Notification对象
AndroidX能够保证在不同版本你的Android系统中兼容。
我们来创建一个NotificationTest的项目
首先在activity_main中添加一个按钮,
image
然后再MainACtivity中编写触发通知的代码:
image

我们创建好了这条通知之后,发现这条通知是不能点击的。我们来修改这条通知,让他变为可点击的
这需要引入新的概念,PendingIntent,它可以指明一个意图,他与Intent的区别是:Intent倾向于立即执行某个动作,而PendingIntent倾向于在某个合适的时机执行某个动作。我们来优化上述代码,让通知变为可点击
image

通知的进阶技巧

我们来探究一下通知的其他使用技巧,首先是setStyle()方法,这个方法允许我们构建出富文本的内容,通知中不仅仅可以有文字,而且还可以有图片等等
当我们在setContentText中添加很多文字的时候,查看程序会显示不出来,这时我们借助setStyle来实现,
image

调用摄像头和照片

我们平时在使用QQ或者微信的时候,经常要与别人分享图片,这些图片是可以用手机拍摄的,也可以是从相册选取的。我们现在来探究这些功能是怎么实现的。

调用摄像头拍照

首先创建一个CameraAlbumTest项目,修改activity_main.xml中的代码,
image
然后编写MainActivity中的代码:
image
image

在AndroidMainfest.xml里面注册ContentProvider
image

image

最后程序就可以运行起来,拍照了。

从相册中选择图片

我们在项目开发过程中会遇到,到相册里面选择图片的功能,这就需要我们调用相册了。我们还是用实际案例说明
首先在activity_main中添加一个按钮
image

然后再MainActivity里面修改代码
image

播放多媒体文件

我们常见的休闲娱乐方式就是听音乐看视频,我们现在来探究一下音视频的播放

播放音频

Android中播放音频一般使用MediaPalyer,下面给出了常用的方法
image
我们还是通过实际代码来学习,首先创建一个例子PlayAudioTest
首先修改activity_main.xml中的文件,
image
我们在main下创建一个assets目录,里面放置一个.mp3后缀的文件
image
然后编写MianActivity中的代码:
image

播放视频

Android播放视频主要是使用VideoViewL来实现的,同样的先查看方法
image

首先创建一个PalyVideoTest的项目,首先修改PlayVideoTest布局
image

我们在res下创建一个raw的目录,在里面放置一个MP4的文件,然后编写MainActiviyt文件中的代码:
image

posted @ 2022-01-20 17:18  IT小五  阅读(315)  评论(0)    收藏  举报