2019年1月12日Androidのアプリ開発で、3.5mmイヤホン端子の外部入力でマイク録音するためのメモです。AndroidのAPIでは明示的にマイク録音を指定するのが難しいらしく、ヘッドセット用のマイク-イヤホン分岐アダプタを購入しました。スポンサーリンク入力元をソフトウェアで明示的に指定できないAndroidのアプリ開発において、マイク録音はMediaRecorder.AudioSource.MICと指定することで出来ます(ソースの例は「Androidアプリ開発:録音と再生」)。通常であれば、デバイスのマイクが使用されますが、ヘッドセットなどを検知すると、そちらの入力を使うようになります。この切り替えは、Androidの開発用のAPIで明示的に指定することは難しい(できない?)ようです。少なくとも、MediaRecorderではできなさそう。調べていると、ハードウェアレベルでの制御が必要らしい(インピーダンスを見ている?)。デバイスのマイクではなく、3.5mmのイヤホン(ヘッドフォン)端子からの外部入力を録音したい場合(いわゆるライン録音)、具体的には、外部のオーディオ機器等からの出力を、オーディオケーブル経由でAndroid端末に入力したい場合などは、困ってしまう。ヘッドセット用のマイク-音声分岐アダプタを挿入まぁハードウェアレベルで制御しなくてはいけないのであれば、素直にハードウェアレベルで対策するのが一番簡単だろうということで、下記の商品を購入しました。ST35-SM35F)。これをAndroid端末に挿入すると、ヘッドセットを挿入したように認識されるようです。これを使ってMediaRecorderにより録音を実行したところ、無事マイク録音出来ました。音質はまぁぼちぼちといったところです。この方法だと、音声出力もこの端子経由になってしまいます。イヤホンでよければ、イヤホンをつなげればよいのですが、スピーカー出力が必要な場合、別途スピーカーを繋げねばなりません。なんだか色々と不格好になってしまいましたが、ひとまずこれで目的は達せられました。いうマイナーな製品がさっと手に入るAmazonさんは本当に有難い存在です。PM分岐アダプタ!なるほど!私が今まさに求めていた記事です、大変参考になりました。お役に立てたようでよかったです。不格好ですが目的は果たせます。いうマニアックな製品を手軽に買えるのがAmazonの有難いところですね。お求めは是非うちのリンクから(笑)。AM同じくLINE関連ばかりで辟易していました。ライン(線)入力がしたいのに。初心者で良くわかりませんが早速試してみます。同じ悩みを抱えた人は意外といますね。タイトルをマイク録音にしたのは、少しでも検索のことを考えてだったりします。ハードウェアレベルでの解決はソフトウェア的には一番楽(というか何もしない)なので、後は簡単だと思いますよ。PMあれ、そうでしたか。私の環境では表示されているのですが。一応名前も載せておきました。AMラインから録音のアプリがみつからず、かといってAndroidのブログラミングまでは踏み込んでおらず、なんとなくもやもやしてました。MediaRecorder.AudioSource.MICというAPIの仕様(らしい)とのこと、貴重な情報ありがとうございます。どこでそのような記述を見たのかよく覚えておらず、いい加減な書き方で申し訳ない。Androidスマホに、マイク入力でなく、オーディオ入力(LINE入力、AUX入力)をしたくて、検索して、貴サイトにたどり着きました。ST35-SM35Fを使うと、上記の事が可能になると考えて良いでしょうか?あまり詳しくないのですが、マイク入力端子に、LINE信号を入力すると、過大入力になって、スマホを壊すような気がしますので、念のため、お尋ねする次第です。