流媒体中的 MediaRecorder MIC

时间:2021-02-24 15:09:21

标签: java android android-studio mediarecorder

如何在流媒体中使用 MediaRecorder?我试着用过:

    new Thread(new Runnable() {
    @Override
    public void run() {
        Socket socket;
            try {
                socket = new Socket("192.168.1.42", 7070);
                ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.fromSocket(socket);
                MediaRecorder mediaRecorder = new MediaRecorder();
                mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
                mediaRecorder.setOutputFile(fileDescriptor.getFileDescriptor());
                mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
                try {
                    mediaRecorder.prepare();
                    mediaRecorder.start();
                } catch (IOException e) {
                    Log.e("error", "prepare failed");
                }
            } catch (IOException ex) {
                Log.e("error", "socket failed");
            }
        }
    }).start();

不工作,错误:

MediaRecorder: start failed: -38
AndroidRuntime: FATAL EXCEPTION: Thread-6
java.lang.IllegalStateException

问题:

ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.fromSocket(socket);

连接并立即从服务器断开。帮帮我...

0 个答案:

没有答案
相关问题