現在、Xamarin を使用して Android アプリケーションをコーディングしており、AudioRecord クラスを使用してオーディオを録音しています。
audioRecord = new AudioRecord (
// Hardware source of recording.
AudioSource.Mic,
// Frequency
11025,
// Mono or stereo
ChannelIn.Mono,
// Audio encoding
Android.Media.Encoding.Pcm16bit,
// Length of the audio clip.
audioBuffer.Length
);
しかし、オーディオエンコーディングの選択に関しては、Android.Media.Encoding
4つのオプションしかありません
Android.Media.Encoding.Default
Android.Media.Encoding.Invalid
Android.Media.Encoding.Pcm8bit
Android.Media.Encoding.Pcm16bit
MediaRecorder
他にもいくつかのオプションがあるようですが、GSM オプションはありません。
だからここに私の質問があります:
1) Android 以外の別の録音オプションを知っている人はいますか? どちらもデフォルトで GSM を許可していないようですAudioRecord
。GSMコーデックが既にあるのでMediaRecorder
、APIの何かでしょうか?Android.Net.Rtp
2)または、Android で録音/再生できる現在のオーディオ形式のいずれかを使用して、GSM との間でオーディオをエンコード/デコードする方法を知っている人はいますか?
代替案: GSM を、約 2 KB/秒の速度でクリアな音声伝送が得られる同様のサイズと品質の別の形式に変更することもできます。ただし、NAudio を使用する WinForms デスクトップ アプリケーションを変更する必要があります。良い解決策があれば、ここでの提案を歓迎しますが、他の 2 つの質問のいずれかに対する解決策を見つけることをお勧めします。