AudioRecorder может не работать, и он не звучит, когда я загружаю на сервер - PullRequest
0 голосов
/ 04 февраля 2020

Мое приложение может записывать, файл сохраняет в .wav и загружает файл .wav в SERVER, но оно не звучит, когда я слушаю его в окне 10.

Оно может записывать и прослушивать в oneActivity. java. но TwoAcvity. java не может его прослушать и может записывать. и я использую один и тот же код в обоих действиях.

private RecordWaveTask recordTask = null;

findViewById(R.id.button_speak_game).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                findViewById(R.id.check_sound_image_game).setBackgroundResource(0);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    // Permission already available
                    audioRecorderReady();

                } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    if (!recordTask.isCancelled() && recordTask.getStatus() == AsyncTask.Status.RUNNING) {
                        recordTask.cancel(false); 
                        uploadUserGameSound(view);
                    } else { ...
                    }
                }
                return true;
            }
        });

        // Restore the previous task or create a new one if necessary
        recordTask = (RecordWaveTask) getLastCustomNonConfigurationInstance();
        if (recordTask == null) {
            recordTask = new RecordWaveTask(this);
        } else {
            recordTask.setContext(this);
        }
 private void audioRecorderReady() {
        switch (recordTask.getStatus()) {
            case RUNNING:
                Toast.makeText(this, "Task already running...", Toast.LENGTH_SHORT).show();
                return;
            case FINISHED:
                recordTask = new RecordWaveTask(this);
                break;
            case PENDING:
                if (recordTask.isCancelled()) {
                    recordTask = new RecordWaveTask(this);
                }
        }
        SimpleDateFormat formatter = new SimpleDateFormat("dd_MM_yyyy", Locale.KOREA);
        Date now = new Date();
        File wavFile = new File(Environment.getExternalStorageDirectory(), "/study_record_" + formatter.format(now) + ".wav");
        recordTask.execute(wavFile);
    }
...