【移动应用开发】使用多媒体--通知/播放音频/视频

news2024/11/8 21:34:27

目录

一、具体步骤

二、运行截图

1. 开启通知权限

2. 播放音乐

3. 播放视频

三、源代码

1. activity_main.xml

2. activity_video_player.xml

3. activity_notification.xml

4. 一些配置

5. MainActivity

6. VideoPlayerActivity

7. NotificationActivity

8. AndroidManifest.xml声明权限


一、具体步骤

1. 新建一个项目MultimediaPlayer。

2. 创建一个Activity,利用MediaPlayer实现一个简单的音频播放器,功能包括:

  • 支持播放一个固定的音频文件
  • 包含三个按钮,分别实现播放、暂停和停止
  • 在音频播放结束时,触发一个通知,提醒音频播放结束

3. 创建另一个Activity,实现视频的播放。

  • 支持播放一个固定的视频文件
  • 包含三个按钮,分别实现播放、暂停和重新播放
  • 在视频播放结束时,触发一个通知,提醒视频播放结束(跟音频播放结束的通知要有所区别)。

二、运行截图

1. 开启通知权限

2. 播放音乐

点击播放按钮,音乐开始播放,进度条跟着滑动。

(拉动进度条音乐也会跟着变化)

点击暂停按钮,音乐停止,进度条跟着停下。

点击停止按钮之后再次点击播放,音乐重新播放,进度条重置。

音乐结束之后通知用户音频播放结束。

        

3. 播放视频

点击播放按钮,可以播放视频,进度条跟着滑动。

(拉动进度条视频也会跟着变化)

点击暂停按钮,视频停止,进度条跟着停下。

点击重新播放按钮,视频重新播放,进度条重置。

视频播放完浮窗提醒视频播放结束:

三、源代码

1. activity_main.xml

2. activity_video_player.xml

3. activity_notification.xml

4. 一些配置

5. MainActivity

6. VideoPlayerActivity

7. NotificationActivity

8. AndroidManifest.xml声明权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2228407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码备份管理 —— Git实用操作

目 录 Git那些事版本控制系统git环境搭建运行bashbash命令行git账号全局设置本地仓库的存在远程仓库的存在git管理基本流程git仓库的文件夹常用git命令工作区变为git仓库add命令使用branch命令使用checkout命令使用commit命令使用仓库状态查询代码变更后提交删除或恢复文件管理…

windows下安装及使用labelme

1.进入Anaconda Prompt对话窗口 输入:conda create --namelabelme python3.6 # 创建一个叫labelme的环境 conda create --namelabelme python3.6 2.激活新建的环境,进入 输入:activate labelme #激活环境 activate labelme 3.安装pyqt5 …

集群渲染是一台节点输出吗?它是云渲染农场吗

集群渲染并非单一节点的输出,而是一种分布式计算技术,它通过多台计算机协同工作来加速3D渲染过程。这种技术常被视作云渲染农场的前身,两者在提高渲染效率方面有着相似之处。接下来,让我们深入了解集群渲染与云渲染农场之间的联系…

建筑行业内部知识库的重要性与实施策略

在当今瞬息万变的建筑行业中,企业面临着前所未有的竞争挑战。为了在市场中保持竞争力,建筑企业不仅需要拥有先进的技术和设备,还必须具备高效的知识管理能力。内部知识库,作为知识管理的核心工具,正逐渐成为建筑企业提…

【Fastjson反序列化漏洞:深入了解与防范】

一、Fastjson反序列化漏洞概述 Fastjson是一款高性能的Java语言JSON处理库,广泛应用于Web开发、数据交换等领域。然而,由于fastjson在解析JSON数据时存在安全漏洞,攻击者可以利用该漏洞执行任意代码,导致严重的安全威胁。 二、F…

数据结构 —— AVL树

目录 1. AVL的概念 2.AVL树的结构 3.AVL树的插入 3.1 平衡因子更新 4. 旋转 4.1 旋转的原则 4.2 右单旋 4.2.1 右单旋代码实现 4.3 左单旋 4.3.1 左单旋代码实现 4.4 左右双旋 4.4.1 左右双旋代码实现 4.5 右左双旋 ​编辑 4.5.1 右左双旋代码实现 5. AVL树的判断…

[GXYCTF 2019]Ping Ping Ping 题解(多种解题方式)

知识点: 命令执行 linux空格绕过 反引号绕过 变量绕过 base64编码绕过 打开页面提示 "听说php可以执行系统函数?我来康康" 然后输入框内提示输入 bjut.edu.cn 输入之后回显信息,是ping 这个网址的信息 输入127.0.0.1 因为提示是命令…

Python小游戏16——开心消消乐

运行结果显示 代码如下 import pygame import random # 初始化pygame pygame. init() # 定义一些常量 WIDTH 600 HEIGHT 600 NUM_GRID8 GRID_SIZE WIDTH // NUM_GRID FPS 30 # 定义颜色 WHITE (255, 255,255) BLACK(0,0,0) COL…

基于树莓派的安保巡逻机器人--(一、快速人脸录入与精准人脸识别)

目录 零、前言 一、人脸检测 二、人脸识别 1、采集人脸 2、训练人脸识别模型 3、人脸识别应用 零、前言 随着智能安防需求的增长,基于人工智能和物联网的安保系统逐渐成为趋势。树莓派因其低成本、高扩展性等特点,成为很多AI项目的理想平台。本文将为大…

HTB:BoardLight[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many TCP ports are listening on BoardLight? 2.What is the domain name used by the box? 3.What is the name of the application running on a virtual host of board.htb? 4.What version of Dolibarr is running on Board…

react18中redux-saga实战系统登录功能及阻塞与非阻塞的性能优化

redux-saga中的effect常用的几个是有区分出阻塞与非阻塞的,这里主要看下call和fork两者的区别。 实现效果 非阻塞的task执行,不用等到登录成功后请求的list接口完成,点击退出按钮可以立即退出 阻塞task的执行,必须等到登录成功…

【JavaEE】【多线程】进阶知识

目录 一、常见的锁策略1.1 悲观锁 vs 乐观锁1.2 重量级锁 vs 轻量级锁1.3 挂起等待锁 vs 自旋锁1.4 普通互斥锁 vs 读写锁1.5 可重入锁 vs 不可重入锁1.6 不公平锁 vs 公平锁 二、synchronized特性2.1 synchronized的锁策略2.2 synchronized加锁过程2.3 其它优化措施 三、CAS3.…

炫酷的登录框!(附源码)

大家想看什么前端效果请留言 预览效果 源码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>登录页…

RK3568平台开发系列讲解(内存篇)ioremap进行物理内存的映射

🚀返回专栏总目录 文章目录 一、使用案例:二、ioremap 函数的使用三、volatile 的使用一、使用案例: ioremapdevm_ioremap (你不用担心资源的释放)二、ioremap 函数的使用

中小企业设备资源优化:Spring Boot系统实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

基于SSM(spring+springmvc+mybatis)+MySQL开发的新闻推荐系统

基于内容的新闻推荐系统 一、环境搭建 开发框架&#xff1a;SSM(springspringmvcmybatis)开发语言&#xff1a;Java、HTML5、JavaScript开发工具&#xff1a;MyEclipse软件依赖&#xff1a;tomcat8、MySQL 1.1 新建工程 打开 myeclispe&#xff0c;新建一个 maven 工程&…

STM32 HAL ADC FIR 窗函数实现低通滤波

FIR 窗函数实现低通滤波 文章目录 FIR 窗函数实现低通滤波1.窗的分类与选择2.matlab设计3.代码编写4.结果欣赏与群延迟5.其他可能报错5.1.adc采集的数据没问题&#xff0c;vofa打印成-nan5.2.vofa打印的滤波数据为初始化的0 6.代码备忘 1.窗的分类与选择 2.matlab设计 主页命令…

例程学习(学习笔记)

project括号里面表示工程的名称&#xff0c;决定了最后生成的bin文件的名称&#xff0c;比如我们现在编译后的bin文件名称就是hello_world.bin文件&#xff0c;如果改成了project(xxx)&#xff0c;编译后的名称就是xxx.bin 这个文件用来设置路径&#xff0c;咱们得例程案例里面…

uniapp:上拉加载更多、下拉刷新、页面滚动到指定位置

提醒 本文实例是使用uniapp进行开发演示的。 一、需求场景 在开发商品&#xff08;SKU&#xff09;列表页面时&#xff0c;通常有三个需求&#xff1a; 页面下拉刷新&#xff0c;第一页展示最新数据&#xff1b;上拉加载更多数据&#xff1b;列表页面可以滚动到指定位置&#x…

5G在汽车零部件行业的应用

5G技术在汽车零部件行业的应用正在不断深入&#xff0c;为行业的智能化、自动化和高效化转型提供了强大的技术支持。 1、5G技术特点与优势 5G技术具有高速度、低延迟、大连接和切片技术等特点与优势。这些特性为汽车零部件行业提供了稳定、可靠、高效的通信连接&#xff0c;使…