5

私は、ユーザーに音声を録音させることを含むアプリに取り組んでいます。私はオーディオレコーダーを呼び出すために次のインテントを使用しています。

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent, AUDIO_REQ);

これはエミュレーターとテスト済みのほぼすべてのデバイスで正常に機能しますが、Samsung Chargeで実行しようとすると、オーディオレコーダーに録音を保存してアクティビティに戻るオプションが表示されません。録音が完了すると、デバイスに録音されたすべてのオーディオのリストが表示され、このリストからいずれかを選択すると、それらが再生されます。戻るボタンを使用して呼び出し元のアクティビティに戻ることができますが、これによりRESULT_CANCLED結果コードが発生し、でファイルが作成されず、 onActivityResultpath,のパラメーターがnullになります。(インテントから余分なものdataを削除してもデータはnullのままです。この場合は何も変更されません)EXTRA_OUTPUT

このデバイスのオーディオレコーダーを正しく動作させる方法を知っている人はいますか?または、少なくともこれがSamsung Chargeの問題であり、多くのデバイスで心配する必要のない問題であることを誰かが確認できますか?

4

1 に答える 1

3

私はSamsungGalaxySSCLでも同じ問題を抱えています。したがって、この問題は多くのデバイスで発生する可能性があります。おそらく最善の解決策は、組み込みのインテントを使用するのではなく、独自のレコーダーを実装することです...しかし、上記のようにではありません(デバイスごとに異なるインターフェースではなく、アプリの統一されたインターフェースを使用する方が良いと思います。だから、あなたがあなた自身のレコーディングGUIを書く必要があるなら、なぜそれをすべてのデバイスに使わないのか?)。

とにかく、レコーダーから戻ってデータを取得する方法を見つけた場合は、ここに投稿すると便利です。ありがとう

于 2012-09-28T11:52:27.827 に答える