swiftUI实战一音频播放器

目录

一、项目介绍

1.项目阅览​编辑

2.项目简介

3.项目出处

二、项目目标

三、项目框架

1.swiftUI

2.AVKit

四、项目结构

1.主要组件

2.布局

3.音频控制

4.播放器视图

5.优化

6.制作流程

五、代码剖析

1.导入模块和声明结构体:

2.状态变量

3.视图布局

4.音频播放控制函数

4.1设置音频播放器

4.2播放音频​编辑

4.2暂停音频​编辑

4.3更新播放进度

4.4跳转到指定时间播放

4.5将时间间隔格式化为字符串

4.6播放器视图

4.7优化代码(扩展功能)


一、项目介绍

1.项目阅览

2.项目简介

本项目旨在开发一个简单且功能齐全的音乐播放器应用,利用SwiftUI和AVFoundation框架实现。该应用能够播放、暂停音乐,并显示音乐播放的进度条。用户可以通过滑块控制播放进度,应用在播放时会实时更新当前播放时间。

3.项目出处

SwiftUI开发音乐播放器_哔哩哔哩_bilibili

二、项目目标

  • 实现一个基本的音乐播放器功能,包括播放、暂停、进度控制。
  • 学习和应用SwiftUI的视图构建方法。
  • 了解AVFoundation框架在音频处理方面的基本使用方法。

三、项目框架

1.swiftUI

  • 用途:用于构建用户界面。
  • 功能:提供声明式语法来构建UI视图,支持响应式编程,能够与视图绑定变量和状态。

2.AVKit

  • 用途:用于处理音频和视频的播放。
  • 功能:提供播放、暂停、进度控制等多媒体功能。

四、项目结构

1.主要组件

  • ContentView:这是应用的主视图,包含了播放器的布局和功能。
  • @State 和 @Binding 变量:这些变量用于管理播放器的状态和界面交互。
    • @State private var player: AVAudioPlayer?:音频播放器对象。
    • @State private var isPlaying = false:当前播放状态。
    • @State private var totalTime: TimeInterval = 0.0:音频总时长。
    • @State private var currentTime: TimeInterval = 0.0:当前播放时间。
    • @Binding var expandSheet: Bool:用于控制是否展开Sheet。
    • var animation: Namespace.ID:用于动画的命名空间ID。
    • @State private var animationContent: Bool = false:控制动画内容的状态变量。

2.布局

  • GeometryReader:用于读取视图的几何信息,如尺寸和安全区域。
  • ZStack:叠加布局,背景矩形和模糊图像。
  • VStack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值