iTunes 最早其實是 Apple 在 2001年推出的一款音樂播放軟體,比 iPhone 歷史還悠久,經過20年的發展,iTunes 已經成為全世界最大的音樂資料庫,每首歌曲都提供30秒左右的免費試聽,在上一節我們既然已經學會 iTunes 搜尋功能,當然也要來播放試聽內容。
用 SwiftUI 播放網路影音,比想像中簡單很多,只需用到 AVKit 物件庫中兩個物件:
以小賈斯汀與Sean Kingston合作的歌曲"Eenie Meenie"為例,試聽檔的網址記錄在JSON結構的 "previewUrl" 欄位中:
在程式中播放影音檔的一般方法如下,記得一開始要 import AVKit 匯入物件庫:
// 3-3c 播放網路影音
import PlaygroundSupport
import SwiftUI
import AVKit
let 網址 = "<https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/bb/ce/30/bbce3088-f26c-f5e9-b8af-50344243726e/mzaf_17828995580283253999.plus.aac.p.m4a>"
let myURL = URL(string: 網址)!
let 播放器 = AVPlayer(url: myURL)
struct 影音播放: View {
var body: some View {
VideoPlayer(player: 播放器)
.onAppear() {
播放器.play()
}
}
}
PlaygroundPage.current.setLiveView(影音播放())
程式分為兩個步驟:
第一部分,產出一個 AVPlayer() 物件實例,參數為影音檔案的網址(轉換為URL物件):
let 網址 = "<https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview125/v4/bb/ce/30/bbce3088-f26c-f5e9-b8af-50344243726e/mzaf_17828995580283253999.plus.aac.p.m4a>"
let myURL = URL(string: 網址)!
let 播放器 = AVPlayer(url: myURL)
第二部分,在視圖主體(body)中使用 VideoPlayer() 物件產生播放器外觀,參數為剛剛產出的 AVPlayer() 物件實例,並且呼叫 play() 開始播放。
VideoPlayer(player: 播放器)
.onAppear() {
播放器.play()
}
執行結果影片如下,記得打開聲音: