1

我目前正在使用 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)除了默认情况下似乎都不允许GSM之外AudioRecord,还有人知道android的另一个录制选项吗?MediaRecorder也许Android.Net.RtpAPI 中有一些东西,因为它已经有一个 GSM 编解码器?

2)或者有没有人知道一种方法来编码/解码音频到/从 GSM 使用任何当前的音频格式 android 让你录制到/播放?

备选方案:我也可以将 GSM 更改为类似大小和质量的另一种格式,以大约 2 KB/s 的速率获得清晰的语音传输。但是,这将需要我更改使用 NAudio 的 WinForms 桌面应用程序。因此,如果有一个好的解决方案,欢迎在这里提出建议,但是最好找到我的其他两个问题之一的解决方案。

4

0 回答 0