3

初めての Android アプリを開発しています。音声録音アプリです。私は次のようにMediaRecordで音声を録音しています:

mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setOutputFile(mFileName);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

        try {
            mRecorder.prepare();
        } catch (IOException e) {
            Log.e(LOG_TAG, "prepare() failed");
        }

        mRecorder.start();

.3gppそして、これらの録音された音声(ファイル)を再生するための別のアクティビティがあります。このアクティビティには、録音した音声を含む ListView があります。電話にインストールされている音楽プレーヤーでサウンドを再生したい。ここに私のコード:(このコードのソース: https://stackoverflow.com/a/3367231/556169 )

Intent intent = new Intent();  
intent.setAction(android.content.Intent.ACTION_VIEW);  
File file = new File((String) ((TextView) item).getText());  
intent.setDataAndType(Uri.fromFile(file), "audio/*");  
startActivity(intent);

しかし、「ミュージック プレーヤーはこの種類のメディアを再生できません」というエラーが表示されます。

このオーディオ ファイルをブラウズしてファイル エクスプローラーで再生すると、問題なく動作します (つまり、音声を正常に録音しています)。しかし、アプリケーション内で Intent を使用すると、エラーが発生します。

ADDITIONALMediaStore.INTENT_ACTION_MUSIC_PLAYER非推奨のため 使えません。Intent.CATEGORY_APP_MUSICmin API lvl 15 が必要なため、使用できません。私のプロジェクトの最小 API レベルは 8 である必要があります。

4

2 に答える 2