有没有办法同时拥有多个录音机?

时间:2016-02-27 11:20:58

标签: android audio-recording

我试图同时使用多个录音机。

我尝试了AudioRecord和MediaRecorder的不同用法,还尝试了可视化工具,然后我意识到它不能用于Mic。我在这里读了很多相关的问题,但仍然没有帮助我做到这一点。

从我在StackOverFlow中读到的内容中我了解到它可能与物理兼容性有关,所以我创建了这个小应用程序,尝试使用MediaRecorder从两个不同的线程录制音频并在不同的Android设备上进行测试。几种类型的三星,htc,lg,huawei甚至一些不那么受欢迎的中国设备。让两台录像机同时工作的唯一设备是名为" Macoox MC-X9"的手机。我确保我的应用程序运行正常,结果确实应该是什么。

这是录音线程的一个示例:

private void startRecording(final MediaRecorder mRecorder, final int which){
    Log.d(TAG, "Record started : " + which);
    try {
        //mRecorder = new MediaRecorder(); //it's done somewhere else
        mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mRecorder.setMaxDuration(60 * 1000);

        mRecorder.setOnErrorListener(new MediaRecorder.OnErrorListener() {
            @Override
            public void onError(MediaRecorder mr, int what, int extra) {
                stopRecording(mRecorder, which);
            }
        });

        mRecorder.setOnInfoListener(new MediaRecorder.OnInfoListener() {
            @Override
            public void onInfo(MediaRecorder mr, int what, int extra) {
                if (what == mr.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
                    stopRecording(mRecorder, which);
                    Log.d(TAG, "Max duration reached !");
                }
            }
        });

        String mFileName = which + "_" + getTime() + mFileExt;
        mRecorder.setOutputFile(recDir.getAbsolutePath() + "/" + mFileName);
        mRecorder.prepare();
        mRecorder.start();
        makeToast("Record started : " + which);
    } catch (Exception e) {
        Log.d(TAG, e.toString());
        makeToast("Error");
        stopRecording(mRecorder, which);
    }
}

现在我有一个问题,是否有可能更改其他设备'以任何方式兼容?我的意思是,例如我可以简单地根三星设备并根据需要编辑任何相关内容。我只是希望能够以任何必要的方式启用此选项。

我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您正在寻找的内容在很大程度上取决于手机的硬件和驱动程序。所以你将很难篡改它。

您是否考虑过录制一个音频文件并多次打开?听起来对我来说是最好的解决方案。