Android-магазин записал аудио с использованием ввода текста? - PullRequest
0 голосов
/ 16 марта 2012

У меня есть приложение, которое записывает и сохраняет аудио на SD-карте. Он записывает и сохраняет его в нужном месте, но сохраняет его как android.widget.EditText@random number. Я использовал EditText, чтобы получить имя файла.

Кто-нибудь знает, как я могу позволить пользователю ввести некоторый текст и сохранить файл как таковой? Я думал, что я на что-то с кодом ниже, но нет ...

try {
                    //Set user input as filename
                    String filename = getInput.toString();
                    // set the storage directory to SDcard
                    File storageDir = new File(Environment.getExternalStorageDirectory(), "audio");
                    storageDir.mkdir();
                    Log.d(APP_TAG, "Storage directory set to " + storageDir);

                    outfile = File.createTempFile(filename, ".3gp", storageDir);
                    //show filename
                    System.out.println("File is: "+outfile.getAbsolutePath());

                    // initiate recorder
                    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
                    recorder.setOutputFile(outfile.getAbsolutePath());

                } catch (IOException e) {
                    Log.w(APP_TAG, "File not accessible ", e);
                } catch (IllegalArgumentException e) {
                    Log.w(APP_TAG, "Illegal argument ", e);
                } catch (IllegalStateException e) {
                    Log.w(APP_TAG, "Illegal state, call reset/restore", e);
                }
                startRecord();
            } else {
                stopRecord();

вот мой обновленный код:

    //set filename to user input
                String filename = getInput.getText().toString()+".3gp";
                // show filename
                System.out.println("File is: " + filename);

                // initiate recorder
                recorder = new MediaRecorder();
                recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                recorder.setOutputFile("/sdcard/audio/"+filename);
                recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);                    
                player.setDataSource(filename);

1 Ответ

1 голос
/ 16 марта 2012

android.widget.EditText@random number указывает, что ваш getInput является EditText, поэтому для получения его текста вам необходимо вызвать его метод getText (), как показано ниже,

String filename = getInput.getText().toString(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...