画面を閉じても止まらない、失わない:iPhone の録音アプリで直した4つのこと
iPhone の録音アプリで、録音が止まる・失われる4つの不具合を直しました。タブの切り替えで AVAudioSession の setActive(false) がマイクを止める、強制終了でファイルが読めない、通話で終わる、送信待ちから消える。原因と直し方の記録です。

iPhone の録音アプリで録音が止まった原因の1つは、別の画面の後片付けで AVAudioSession(iPhone の音声の設定)の setActive(false) を呼び、録音のマイクまで止めていたことでした。音声の設定を管理する係を1つにまとめ、録音中はほかの画面に触らせない形にして直しました。この記事では、強制終了、通話、送信待ちを含めた4つの直し方を書きます。
私たちが作っている接客の録音アプリ(TalkLens)は、スタッフがお客様と話す間、iPhone で録音し、AI で文字起こしと採点をします。録音を始めたら iPhone の画面を閉じてポケットに入れても、録音は続きます。私たちは、これをこのアプリの強みだと考えています。
このアプリは、10を超える店舗で同時に使われています。何人が同時に使っても、録音が失われないこと。これを、ほかの何よりも先に守ると決めています。この記事は、その決まりのもとで直した4つの不具合の記録です。

1. 録音中にタブを切り替えると、録音が止まった
録音中に、過去の採点結果を見ようと別のタブに移り、戻ってくると、録音の経過時間が止まっていました。画面には「録音中」と出ているのに、音が入っていません。

2. 録音中にアプリが落ちると、録音が読めなくなった
録音中にアプリが強制終了されると、それまでの音声がファイルに残っているのに、再生も送信もできませんでした。


3. 電話がかかってくると、録音が終わってしまった
接客中に、iPhone に電話がかかってくることがあります。アラームが鳴ったり、ほかのアプリが音を出したりすることもあります。こうした時、録音は「中断」として終わっていました。


4. 送信待ちの録音が、送られないまま残った
録音が終わると、音声はいったん iPhone の中の送信待ちに入り、順にサーバーへ送られます。多くの店舗が同時に使うと、この流れのどこかで詰まりやすくなります。

回数の制限は、同時に使う人が増えるほど当たりやすくなります。制限で断られたのは録音のせいではないので、失敗として数えず、待ってからやり直すのが正しい扱いです。
直したことを、毎回確かめる
4つとも、直したあとに同じことが起きないかを確かめる手段を作りました。録音中にタブを切り替える、録音中にアプリを落とす、といった操作を自動で行う「セルフテスト」をアプリに入れ、開発の時に流しています。サーバーの側は、手元で Google のサービスの偽物を立て、断られる割合を変えながら、すべての録音が最後まで届くかを試しました。

まとめ

- 録音中は、ほかの画面に音声の設定を触らせない。入力が止まったら録音の側でつなぎ直す
- 録音中は、途中で止まっても読める形式で書き、終わってから m4a に入れ替える
- 通話などでは録音を終わらせず、一時停止にして、戻れる限り待つ
- 送信待ちに載せ損ねた録音は載せ直し、回数の制限は失敗に数えずにやり直す
この記事は、AI(Claude)の支援を受けて作成し、筆者が内容を確認しています。


