如何用SFBAudioEngine 3行代码在iOS/macOS上播放音频文件(附Swift代码)
2026/8/30 19:17:49 网站建设 项目流程

如何用SFBAudioEngine 3行代码在iOS/macOS上播放音频文件(附Swift代码)

【免费下载链接】SFBAudioEngineA powerhouse of audio functionality for macOS, iOS, and tvOS.项目地址: https://gitcode.com/gh_mirrors/sf/SFBAudioEngine

SFBAudioEngine 是一款面向 macOS、iOS 和 tvOS 的强大开源音频框架,用 Swift 播放音频文件仅需 3 行代码。本文将教你如何快速集成 SFBAudioEngine,并附上可直接运行的 Swift 播放代码,帮助你在 iOS/macOS 上轻松实现音频播放功能。

SFBAudioEngine 是什么?

SFBAudioEngine 是一个集音频解码、播放、编码、格式转换、属性读取与元数据编辑于一体的音频引擎,同时支持 Swift 和 Objective-C。它最让人惊喜的一点是:播放音频文件真的只需要 3 行代码,无需配置复杂的AVAudioEngine处理图。

快速安装:Swift Package Manager 集成步骤

SFBAudioEngine 支持 iOS 15.0+、macOS 11.0+、tvOS 15.0+,通过 Swift Package Manager(SPM)集成非常简单。

一键安装步骤:

  1. 在 Xcode 中打开项目,进入File > Add Package Dependencies
  2. 输入包地址添加依赖
  3. 等待解析完成后,在需要使用的地方import SFBAudioEngine

3 行代码播放音频文件(Swift 代码)

播放音频文件的核心代码,只需三步:

import SFBAudioEngine let player = AudioPlayer() let url = URL(fileURLWithPath: "example.flac") try? player.play(url)

没错,就这么简单!AudioPlayer基于AVAudioEngine处理图实现播放,开箱即用,无需任何额外配置。🎵

注意:目前play(_:)仅支持文件 URL(file URL)。

播放控制与状态监听

除了播放,SFBAudioEngine 还提供了完整的播放控制能力:

player.pause() // 暂停 player.resume() // 恢复 player.stop() // 停止 player.togglePlayPause() // 播放/暂停切换 player.seek(time: 30) // 跳到 30 秒处

同时支持队列播放,实现无缝(gapless)衔接:

try? player.enqueue(URL(fileURLWithPath: "track2.flac"))

读取音频信息与元数据

播放之外,读取音频属性和元数据同样简单,一行代码即可:

if let audioFile = try? AudioFile(readingPropertiesAndMetadataFrom: url) { let sampleRate = audioFile.properties.sampleRate let title = audioFile.metadata.title let artist = audioFile.metadata.artist }

一行代码完成格式转换

想把 WAVE 转成 FLAC?SFBAudioEngine 同样只需 3 行代码,输出格式会根据文件扩展名自动推断:

let inputURL = URL(fileURLWithPath: "music.wav") let outputURL = URL(fileURLWithPath: "music.flac") try AudioConverter.convert(inputURL, to: outputURL)

支持的音频格式

SFBAudioEngine 支持绝大多数音频格式,除了 Core Audio 原生支持的格式外,还额外支持:

  • 🎶 Ogg Speex / Ogg Vorbis / Ogg Opus
  • 🎶 Monkey's Audio、Musepack、Shorten、True Audio、WavPack
  • 🎶 libsndfile 支持的全部格式
  • 🎶 DSD64 转 PCM、DSF/DSDIFF 解码及 DoP 传输

FLAC、Ogg Opus 和 MP3 虽然 Core Audio 原生支持,但 SFBAudioEngine 也提供了自己的编码器和解码器,确保最佳兼容性。

总结

SFBAudioEngine 让 iOS/macOS 音频开发变得异常简单:播放 3 行代码、读元数据 1 行代码、转格式 3 行代码。无论你是想快速播放 FLAC、Opus 等特殊格式,还是需要构建完整的音乐播放器,它都是值得一试的开源方案。核心播放能力由 AudioPlayer.swift 提供,底层实现位于 Player 目录,感兴趣的话可以直接阅读源码深入学习。🚀

【免费下载链接】SFBAudioEngineA powerhouse of audio functionality for macOS, iOS, and tvOS.项目地址: https://gitcode.com/gh_mirrors/sf/SFBAudioEngine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询