|
Loading...
|
android-group-japan@googlegroups.com
[Prev] Thread [Next] | [Prev] Date [Next]
[android-group-japan: 1889] Re: マイクからの音声直入力方法について tommy sou Tue Oct 06 20:03:07 2009
はじめまして、ソウです。
下記のソースをご参照してください。
AudioTrack player = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
8000, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, out_buff_size,
AudioTrack.MODE_STREAM);
AudioRecord record = new AudioRecord(MediaRecorder.AudioSource.MIC,
8000, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, input_buff_size);
int input_buff_size = 2 * AudioRecord.getMinBufferSize(8000,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
int out_buff_size = 2 * AudioTrack.getMinBufferSize(8000,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
int frame_size_in_bytes = 640;
if (input_buff_size < frame_size_in_bytes)
{
input_buff_size = frame_size_in_bytes;
}
if (out_buff_size < frame_size_in_bytes)
{
out_buff_size = frame_size_in_bytes;
}
record.setPositionNotificationPeriod(frame_size_in_bytes >> 1);
AudioCallback callback = new AudioCallback(player, record);
record.setRecordPositionUpdateListener(callback);
record.startRecording();
player.play();
byte[] inputBuffer = new byte[frame_size_in_bytes];
// record.read(inputBuffer, 0, input_buff_size);
record.read(inputBuffer, 0, frame_size_in_bytes);
//AudioCallbackの実現:
public class AudioCallback implements OnRecordPositionUpdateListener
{
AudioTrack player = null;
AudioRecord record = null;
final int frame_size_in_bytes = 640;
byte[] inputBuffer = new byte[frame_size_in_bytes];
byte[] outputBuffer = new byte[frame_size_in_bytes];
byte[] encodeBuffer = new byte[frame_size_in_bytes];
int decoded_bytes = 0;
int encoded_size = 0;
AudioCallback(AudioTrack at, AudioRecord ar)
{
player = at;
record = ar;
}
@Override
public void onPeriodicNotification(AudioRecord recorder)
{
record.read(inputBuffer, 0, frame_size_in_bytes);
player.write(outputBuffer, 0, frame_size_in_bytes);
}
@Override
public void onMarkerReached(AudioRecord recorder)
{
}
}
2009年10月6日21:57 のりす <[EMAIL PROTECTED]>:
>
> はじめまして
> 愛知の住人です
>
> Android上でマイクからの音声入力に対して
> リアルタイム性の高いアプリケーションを作りたいと考えています。
>
> マイクから音声をリアルタイムに取る方法として
> audiotrackを使えば直入出力が可能だという
> 書き込みを見かけたり
> マイクからの音声をリアルタイムに処理する
> アプリケーションが実際にあるようなのですが
>
> 具体的にどうしたらよいのか分かりません。
> どなたか分かる方がいれば
> 力を貸していただきたいです。
> よろしくお願いします。
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
このメールは次の Google グループの参加者に送られています: 日本Androidの
会
このグループにメールで投稿: [EMAIL PROTECTED]
このグループから退会する: [EMAIL PROTECTED]
その他のオプションについては、次の URL からグループにアクセスしてくださ
い。 http://groups.google.co.jp/group/android-group-japan?hl=ja
-~----------~----~----~----~------~----~------~--~---
- [android-group-japan: 188 5] マイクからの音声直入力方法について のりす 2009/10/06
- [android-group-japan: 1887] Re: マイクからの音声直入力方法について Keiji Ariyama 2009/10/06
- [android-group-japan: 1895] Re: マイクからの音声直入力方法について のりす 2009/10/09
- [android-group-japan: 1888] Re: マイクからの音声直入力方法について imaoka michihiro 2009/10/06
- [android-group-japan: 189 0] Re: マイクからの音声直入力方法 について Yutaka Mandai 2009/10/06
- [android-group-japan: 1896] Re: マイクからの音声直入力方法について のりす 2009/10/09
- [android-group-japan: 1889] Re: マイクからの音声直入力方法について tommy sou 2009/10/06 <=
- [android-group-japan: 1897] Re: マイクからの音声直入力方法について のりす 2009/10/09