Swift_SoundRecord by m4a

こんにちはEveryDaySoft代表の永田です。

世の中でiOSの録音音声ファイル…

AudioFileを使用した方法で、m4aファイルの録音方法が明確に紹介がなく、凄いハマりました。

wavフォーマットでの紹介はたくさんあります。

そんな中、音声案件で詳しいプロに一言の助言で実装できたのです。

この情報は様々なサイトで明確な解決方法がなかったので、記載させていただきます。

こちらがサンプルです。

Samplem4a.swift

音声ファイルの録音はSQLiteやiOSで言うとRealmのデータベース構造と似ています。ファイルを開き、書き込み、閉じるというフローでAudioEngineのAudioFileの構成がされています。

最初の初期化で音声のpathを設定しています。

音声を設定している箇所

ファイルを開き、開いている間に書き込んで、閉じます。この閉じるという行為がnilにする部分です。

ここがポイントです!!!!!!

録音をstopする際にaudioFile = nilにすること、m4aファイル作成が完成します。

こちらは書き込んでる動作です。

samplerateが44100だったり、48000だったりするので、汎用的にはこのように設定すると良いです。

audioEngine.inputNode.outputFormat(forBus: 0)

あとはリンクのサンプルを作成すると実機で確認ができると思います。

お読み下さいまして、誠にありがとうございます。

今後とも、よろしくお願い致します。