#8 利用 iOS SDK 各種型別生出想要的東西,設定屬性和呼叫的方法練習
Published in
9 min readNov 21, 2020
使用playgrounds練習語法使用
文很長~
關鍵技術索引:
- App 講話: AVFoundation,AVSpeechSynthesizer,AVSpeechUtterance,AVSpeechSynthesisVoice
- 播音樂: AVFoundation,URL,AVPlayer
- 播影片: AVKit,AVPlayerViewController
- 地圖: MapKit,MKMapView,MKCoordinateRegion
- 網頁: SafariServices,SFSafariViewController
- 時間: Foundation,Date,DateFormatter,Calendar,DateComponents,Void
- playground: PlaygroundSupport,PlaygroundPage,liveView,type property
說不出口的話,APP幫你說 AVSpeechSynthesizer
import AVFoundationlet 說話Ultterance = AVSpeechUtterance(string: “因為你是真的關心 不是客套的回應 我 喔 喜歡你 沒什麼特別的原因 都是很簡單的原因”)說話Ultterance.voice = AVSpeechSynthesisVoice(language: “zh-TW”)說話Ultterance.rate = 0.5說話Ultterance.pitchMultiplier = 1.6let synthesizer = AVSpeechSynthesizer()synthesizer.speak(說話Ultterance)
AVFoundation是叫出關於影片、音檔的工具包,再來就是設定(儲存)自己想說的話(說話Ultterance)進一個常數裡,設定語言、聲音速度(0–1)、聲音音調(0–2),最後就是讓合成器(AVSpeechSynthesizer())合出你要的講話內容啦!使用speak功能讓APP說話吧!!!
參考資源:
只要有這些code我就自帶BGM(使用AVPlayer)
import AVFoundationlet url = URL(string: “https://audio-ssl.itunes.apple.com/itunes-assets/AudioPreview113/v4/20/69/bc/2069bc2d-8191-ea68-d9b2-0ef616143efb/mzaf_18149325310787639896.plus.aac.p.m4a")let player = AVPlayer(url: url!)player.play()
首先,當然要先叫出工具包AVFoundation啦!
再來把自己想播放音樂的”網址“放到常數player裡存起來,行使播放功能!
猜猜看我放的是什麼音樂 😁 かまど たんじろう~~~
怎麼得到”網址“?參考以下
聲音+畫面才完整:播影片(AVPlayerViewController)
import AVKitimport PlaygroundSupportlet url = URL(string: “https://movietrailers.apple.com/movies/wb/tom-and-jerry/tom-and-jerry-trailer-1_h480p.mov")let player = AVPlayer(url: url!)controller = AVPlayerViewController()controller.player = playerPlaygroundPage.current.liveView = controllerplayer.play()
步驟都一樣:叫工具包→常數存資料→使用AVPlayerViewController→播放
網址如何取得?目前我只知道Peter給的方法,想再找找有沒有可以把youtube的預告片轉成這種網址的方法
製作自己的地圖(MKMapView)
import MapKitimport PlaygroundSupportlet bleachingMapView = MKMapView(frame: CGRect(x: 0, y : 0, width : 300, height : 300))bleachingMapView.region = MKCoordinateRegion(center: CLLocationCoordinate2DMake(-14.661524, 145.466392), latitudinalMeters: 5000, longitudinalMeters: 5000)PlaygroundPage.current.liveView = bleachingMapView
設定地標的副標題和地圖顯示方式或語言:
let bleachingAnnotation = MKPointAnnotation()bleachingAnnotation.title = “熱浪襲擊的蜥蜴島”bleachingAnnotation.coordinate = CLLocationCoordinate2D(latitude: -14.661524, longitude: 145.466392)bleachingAnnotation.subtitle = “這邊珊瑚都白化了”bleachingMapView.addAnnotation(bleachingAnnotation)
利用 SFSafariViewController 顯示網頁
import SafariServicesimport PlaygroundSupportlet url = URL(string: “https://www.raywenderlich.com")let controller = SFSafariViewController(url: url!)PlaygroundPage.current.liveView = controller
最後列印出日期
import Foundationvar time = Date()print(time)//計算距離現在3小時50分20秒的時間time.addTimeInterval(13820)3*60*60+50*60+20print(time)let now = Date()let dateFormatter = DateFormatter()dateFormatter.dateFormat = “EEEE, MMM d, yyyy”let dateString = dateFormatter.string(from: now)
import Foundationlet today = Date()let dateComponents = Calendar.current.dateComponents(in: TimeZone.current, from: today)let month = dateComponents.monthlet day = dateComponents.daylet weekday = dateComponents.weekdaylet year = dateComponents.yearlet cent = dateComponents.era
資料來源: