#8 利用 iOS SDK 各種型別生出想要的東西,設定屬性和呼叫的方法練習

使用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的預告片轉成這種網址的方法

記得勾選live view

製作自己的地圖(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

資料來源:

--

--