1

Google の音声で作成された音声ファイルをユーザーがサーバーにアップロードできるようにするアプリを作成しようとしています。オーディオ ファイルの URI を取得できましたが、どうすればそれにアクセスしたり、聴取可能な形式に変換したりできますか? 再生しようとしましたが、今のところ何もありません。これは私が持っているものです。

テキストへの私のスピーチ

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode){
        case REQ_CODE_SPEECH_INPUT: {
            Bundle bundle = data.getExtras();
            if(resultCode==RESULT_OK && null!= data){
                ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
                vtt.setText(result.get(0));
                Uri audioUri = data.getData();
                uri.setText(String.valueOf(audioUri));
                audioPath = uri.getText().toString();

            }
            break;

        }
    }
}

audioPath 変数を再生しようとしたとき。何も出ませんでした。聞き取り可能な形式に変換するにはどうすればよいですか?

私が得たウリの例

content://com.google.android.googlequicksearchbox.AudioProvider/NoteToSelfOriginalAudio1.amr

ご協力ありがとうございました

コンテンツリゾルバーを使用して入力ストリームで何かをする必要がある場所を見つけましたが、何がわからないのですか。

4

2 に答える 2

0

疑問を解決することができました。

最も簡単な方法は、apache commons IO の関数を使用することです

audioPath = uri.getText().toString();
                finalPath = combinedPath.replaceAll(" ","");
                Log.d("Filepath",combinedPath.replaceAll(" ",""));
                ContentResolver contentResolver = getContentResolver();
                try{
                    InputStream filestream = contentResolver.openInputStream(audioUri);
                    File targetFIle = new File(finalPath);
                    FileUtils.copyInputStreamToFile(filestream,targetFIle);
                }catch (IOException e){
                    e.toString();
                }
于 2016-05-14T11:22:50.480 に答える