第 10 章
音訊錄製與播放

iOS SDK 提供各種框架,可以讓你在 App 中處理聲音。其中一個可以讓你播放與紀錄音訊檔的框架便是 AV Foundation 框架。在本章中會介紹這個框架的基礎,並告訴你如何處理音訊播放還有錄製的功能。

AV Foundation 提供基本的API讓開發者來做 iOS 的音訊處理。在這個範例中,我們主要處理框架的兩個類別:

  • AVAudioPlayer – 把它想成是一個音訊播放器,用來播放聲音檔。這個播放器可以隨時播放任何的聲音,使用各種 iOS 接受的音訊格式。
  • AVAudioRecorder – 一個錄製音訊的音訊錄製器(audio recorder)。

簡單的範例 App

要了解如何使用這個 API,我們將建立一個簡單的音訊 App,可以讓使用者錄音與播放音訊。我們主要的重點在示範 AV Foundation 框架,因此 App 的使用者介面非常簡單。

首先, 使用 Single View Application 模板來建立一個 App 並命名為 RecordPro (或者你可以用自己的名稱)。你可以自行設計如圖 10.1的使用者介面,不過為了讓你免於設定使用者介面與自訂類別,你可以至 http://www.appcoda.com/resources/swift55/RecordProStarter.zip下載專案模板。我已經幫你建立了 Storyboard 並且設定類別。這個使用者介面非常簡單,有三個按鈕: recordstopplay 。介面中還有一個計時器用來顯示錄製時間。這些按鈕也連結了在 RecordProController 類別(UIViewController 的子類別)中相對應的動作方法。

圖 10.1. RecordPro 專案
圖 10.1. RecordPro 專案

在我們進到實作之前,我想進一步說明一下這個範例 App 的運作方式:

  • 當使用者按下 錄製(Record)按鈕,App 便開始計時,同時錄製音訊。此錄製按鈕接著會被暫停(Pause) 按鈕取代。倘若使用者按下暫停按鈕,此 App 會暫停紀錄直到使用者再次按下按鈕才會繼續錄製。在程式部分,它會調用 record 動作方法。
  • 當使用者按下 停止(Stop) 按鈕,App 會停止錄製,我已經在 RecordProController 中連結了按鈕與 stop動作方法。
  • 要播放錄製,使用者可以按下播放 (Play)按鈕,而這個播放按鈕關聯的是 play 方法。

本文摘自《iOS 17 App程式設計進階攻略》一書。如果你想繼續閱讀和下載完整程式碼,你可以從AppCoda網站購買完整電子版,全書範例檔皆可下載。

results matching ""

    No results matching ""