之前有一个SwiftUI中通过AVAudioPlayer播放Audio小纸条主要是说明如何播放一个本地的音乐。如果要播放网络中的音乐如何操作呢?有两个思路,第一个思路就是从网络上下载,再通过AVAudioPlayer来播放。第二个方法就是通过AVPlayer来进行播放。
简单的播放按钮
我非常喜欢这个简单的播放按钮
import SwiftUI
import AVKit
struct MyContentView : View {
var body: some View {
PlayAudio(url: "https://youraudio/url")
}
}
public struct PlayAudio: View {
var player : AVPlayer
public init(url:String){
player = AVPlayer(url: URL(string: url)!)
player.play()
}
public var body: some View {
ZStack{
VStack{
Button(action: {
player.seek(to: CMTime(seconds: 0, preferredTimescale: 10))
player.play()
}) {
Image(systemName: "play.circle.fill").resizable()
.frame(width: 50, height: 50)
.aspectRatio(contentMode: .fit)
}
}
}
}
}
附加阅读
苹果官方提供了一份Observing Playback State文档 和 Observing the Playback Time文档,回头琢磨下是否需要更不同的方式去玩它