当前位置: 首页 > article >正文

《SwiftUI 实现点击按钮播放 MP3 音频》

功能介绍

点击按钮时,应用会播放名为 yinpin.mp3 的音频文件。使用 AVAudioPlayer 来加载和播放音频。

关键点:

  1. 按钮触发:点击按钮会调用 playAudio() 播放音频。
  2. 音频加载:通过 Bundle.main.url(forResource:) 加载音频文件。
  3. 播放音频:使用 AVAudioPlayer 播放音频。

结果:

当点击按钮时,音频会开始播放。如果文件不存在,会在控制台输出错误信息

import SwiftUI
import AVFoundation

struct ContentView: View {
    @State private var audioPlayer: AVAudioPlayer?
    
    var body: some View {
        VStack {
            Button("apple") {
                playAudio()
            }
            .padding()
        }
    }
    
    func playAudio() {
        guard let url = Bundle.main.url(forResource: "yinpin", withExtension: "mp3") else {
            print("Audio file not found!")
            return
        }
        
        do {
            // 创建音频播放器并播放
            audioPlayer = try AVAudioPlayer(contentsOf: url)
            audioPlayer?.play()
        } catch {
            print("Error occurred while trying to play audio: \(error.localizedDescription)")
        }
    }
}


http://www.kler.cn/a/458778.html

相关文章:

  • 【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地
  • CentOS Stream 9 安装 JDK
  • android stdudio环境: gradle一直安装失败
  • C++ 设计模式:中介者模式(Mediator Pattern)
  • ruoyi 多租户 开启后针对某一条sql不适用多租户; 若依多租户sql规则修改
  • 【OceanBase】使用 Superset 连接 OceanBase 数据库并进行数据可视化分析
  • 低空经济与数据资产入表的联系
  • llamafactory报错:双卡4090GPU,训练qwen2.5:7B、14B时报错GPU显存不足(out of memory),轻松搞定~~~
  • Android 学习小记1
  • plantuml 信号时序图
  • 重装操作系统后 Oracle 11g 数据库数据还原
  • 深入理解Android中的ImageReader与JNI交互
  • Android笔试面试题AI答之Android基础(6)
  • 【深度学习基础之多尺度特征提取】多尺度图像增强(Multi-Scale Image Augmentation)是如何在深度学习网络中提取多尺度特征的?附代码
  • DAY176内网对抗-信息收集篇SPN扫描DC定位角色区域定性服务探针安全防护凭据获取
  • 《C++设计模式》策略模式
  • 应用层1——C/S、P2P、DNS域名系统
  • 【Rust自学】5.2. struct使用例(加打印调试信息)
  • 使用 Spring Boot 和 GraalVM 的原生镜像
  • Ubuntu 22.04 升级 24.04 问题记录
  • 使用 OpenCV 在图像中添加文字
  • oscp备战系列-Kioptrix2014
  • Oracle Managed Files(OMF)
  • sqlite3 python 如何使用
  • 文件上传绕过最新版安全狗
  • Android 屏幕适配autosize