# SwiftUI通过AVPlayer播放网络音频小纸条

之前有一个[SwiftUI中通过AVAudioPlayer播放Audio小纸条](https://blog.hdcola.one/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文档](https://developer.apple.com/documentation/avfoundation/media_playback_and_selection/observing_playback_state) 和 [Observing the Playback Time文档](https://developer.apple.com/documentation/avfoundation/media_playback_and_selection/observing_the_playback_time)，回头琢磨下是否需要更不同的方式去玩它

