3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swift AVAudioで録音した音声が聞き取れないレベル

Posted at

忘れないようにメモ。

現象

色々なサイトのサンプルソースを元に、録音と再生するアプリを作成したところ、
再生した音声が異常に小さかった

環境

xcode: 10.1
swift: 4.2

修正前

let session = AVAudioSession.sharedInstance()
do {
  //try session.setCategory(AVAudioSessionCategoryPlayAndRecord, with: .defaultToSpeaker)
  try session.setCategory(AVAudioSession.Category.playAndRecord, mode: .default)
  try session.setActive(true)
   (省略)
}
catch let error {
  // failed to record!
}

修正後

let session = AVAudioSession.sharedInstance()
do {
  try session.setCategory(AVAudioSession.Category.playAndRecord, mode: .default, options: .defaultToSpeaker)
  try session.setActive(true)
   (省略)
}
catch let error {
  // failed to record!
}

参考にしたサイトの情報だと、4.2に対応していなかったみたいで、関数の引数を変えたところ必要な引数が漏れてしまったことが原因だった。

他のアプローチ

session.setInputGain(1.0)

と設定するといい、といった情報もあったけれど、
公式の使い方を参照し、isInputGainSettableでチェックしてから使おうねってあったのでやったところ、、、

if session.isInputGainSettable {
  try session.setInputGain(1.0)
} else { print("設定できないってどういうことだよ!") } 

見事撃沈した。

参考

VoiceRecorder
[iOS]ボイスレコーダーアプリを作る
マイクにアクセスするとアプリ全体の音量が小さくなります

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?