Swift 3.0 Class Note – Audio(播放音樂 & 錄音相關)

Presenter : Wei Wei

播放系統音效

  • 函式庫:AudioToolbox
  • AudioServicesPlayAlertSound(SoundID)

github : git@github.com:dan12411/HelloSystemSound.git

播放APP內的音樂

  • 函式庫:AVFoundation
  • 物件:AVAudioPlayer (with Error Handling)
  • 丟入音樂檔 -> 找到檔案位置 -> 產生url -> 產生AVAudioPlayer
    • 找到檔案位置:Bundle.main.path(forResource: “Right", ofType: “mp3″)
    • 產生url:URL(fileURLWithPath: path)
  • %e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-06-%e4%b8%8b%e5%8d%882-27-10丟檔案會跳出的選單

github : git@github.com:dan12411/HelloPlayAudio.git

 播放手機內的音樂

  • 函式庫:MediaPlayer
  • 需加上Privacy – Microphone Usage Description
  • 物件:MPMusicPlayerController
  • Protocol : MPMediaPickerControllerDelegate
  • func :
    • mediaPickerDidCancel(使用者按下Cancel,把MediaPicker收起來)
    • mediaPicker(使用者選到某首歌,就開始播放音樂)

github : git@github.com:dan12411/HelloMediaPlayer.git

手機錄音並播放錄音檔

  • 函式庫:AVFoundation
  • 需加上Privacy – Microphone Usage Description
  • 物件:AVAudioRecorder(錄音)、AVAudioPlayer(播放錄音)、isRecording(記錄狀態是否在錄音)
  • Protocol : AVAudioRecorderDelegat
  • 找到存檔路徑 -> 產生url -> 設定錄音相關的數據 -> 產生AVAudioRecorder -> 錄完產生AVAudioPlayer
  • fun : audioRecorderDidFinishRecording(錄完要做的事)
  • AVAudioSession.sharedInstance().setCategory(調整 session 狀態, with Error Handling)

github : git@github.com:dan12411/HelloRecordAudio.git

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s