オーディオを 20 秒間録音したいと思います。そのためには、現在のアプリケーションからオーディオ録音アプリを起動する必要があり、インテントを呼び出して起動しました。オーディオを録音して保存することができました。しかし、方法がわかりません。 20 秒後に録音を停止し、その音声を電子メールで送信します。
この問題を解決するのを手伝ってください。
オーディオを 20 秒間録音したいと思います。そのためには、現在のアプリケーションからオーディオ録音アプリを起動する必要があり、インテントを呼び出して起動しました。オーディオを録音して保存することができました。しかし、方法がわかりません。 20 秒後に録音を停止し、その音声を電子メールで送信します。
この問題を解決するのを手伝ってください。
記録を開始した後、20 秒の遅延でハンドラーを起動できます。そこで記録を停止し、電子メールを送信できます。電子メールをアプリから直接送信することはできません。電子メール クライアントが必要です。以下のコードを使用すると、ファイルを添付して電子メール クライアントのインテントを開始できます。
final Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("application/octet-stream");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,"");
ArrayList<Uri> uris = new ArrayList<Uri>();
ArrayList<String> filePaths=new ArrayList<String>();
String fullpath="";
fullpath=Environment.getExternalStorageDirectory()+File.separator+"yourfilename.mp3";
filePaths.add(fullpath);
for (String file : filePaths)
{
File fileIn = new File(file);
if(fileIn.exists()){
Uri u = Uri.fromFile(fileIn);
uris.add(u);
}
}
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
YourActivity.this.startActivity(Intent.createChooser(emailIntent,"Send mail..."));