1

次を使用して、デフォルトのボイスレコーダーを起動しています。

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
            startActivityForResult(intent, soundVal);

これは正常に機能しますが、ユーザーが停止ボタンを押すと、サウンドを再生してからさらに録音するように求められます。ユーザーが停止ボタンを押すとすぐにレコーダーを閉じてアクティビティに戻り、作成されたサウンド ファイルで必要なことを実行できるようにしたいと考えています。それは可能ですか?そうでない場合は、独自のカスタム レコーダーを作成する必要があると思います。

4

1 に答える 1

1

私はあなたが正しいと思います。独自のカスタムレコーダーを作成するか、SDCard をスキャンしてファイルを見つけることができるかどうかを確認する必要があるかもしれません (危険です)。

独自のカスタム レコーダーを作成するには、いくつかのオプションがあります。

  1. ライセンスに応じて、オープンソースのものを見つけて、アプリにライブラリとして含めます
  2. ゼロから独自に作成します (時間がかかる場合があり、考えもしなかったバグがある場合があります)。
  3. Eclipse、decompiler、および dex2jar を使用して、既存のものをリバース エンジニアリングする

あなたが試みることができる他の選択肢は、SDカードを監視することです。最近追加された新しいサウンドファイルがあれば、デフォルトのボイスレコーダーからのものである可能性が最も高いことがわかります...ただし、このアプローチは少し制限されています一部のデバイスは音声ファイルを SDCard に書き出さないという点で (ただし、ほとんどのデバイスはそうしていると思います)。

于 2012-11-09T21:41:30.517 に答える