Blog2019-06-06MediaRecorder.AudioSourceについて詳しく知ろうはじめまして。最近はiOSとAndroidで配信アプリを作るお仕事をしています。理解していますか?今回は筆者の経験を元に、それぞれの違いについて解説していきます。個人的に推測して書いているので、参考程度にお読みください。他に知見がありましたらコメント等でお寄せください。入力ソースごとの違いをしっかり把握しておくと良いでしょう。3で説明していきます。3の場合は、前面にマイクが二種類あります。上部の図をご覧ください。通話するときに使うマイクがあります。セカンドマイクがあります。これらの違いは指向特性です。セカンドマイクのほうがより広く音が拾えるでしょう。通話アプリを作るときは、通話用マイクを選ぶべきですし、カメラアプリを作るときはセカンドマイクを選択したほうが良いでしょう。端末によって指向特性が異なったり、端末によってはセカンドマイクがない場合もあります。面倒ではありますが、端末ごとに検証していくことが大事ですね。現在、Androidでシステム音をとる方法はありません。呼ばれるパーミッションが必要なのですが、残念ながらサードパーティには解放されていません。サードパーティに解放されていました。6.0以降から使えなくなってしまいました。今後もサードパーティ向けに解放することはおそらくないでしょう。Captureが入ることになりました。これにより、端末内部のシステム音を録音することができます。必要みたいなので、スクリーンキャプチャであるMediaProjectionと一緒に使うことが前提とされています。詳しくはドキュメントをご覧ください。https://developer.android.com/preview/features/playback-captureおわりに今回は筆者の経験談を元に書きました。ドキュメントには書いてないですが、MediaRecorder.AudioSourceにはそれぞれ癖があります。これらの挙動をしっかりと把握した上で、最適なソースを選んでいくことが大事ですね。字幕のはなしをします。字幕のはなしをします。