2011-09-06 18 views
8

MediaRecorderの結果を「ストリーム」することは可能ですか?Android MediaRecorder in streaming

私が見ることができるユニークな方法は、FileDescriptorを受け取るmediaRecorder.setOutputFileです。だから私はファイルに結果を書くことができますまたは受信機にソケット経由で送信します。

私は2番目の解決策を試しましたが、ストリーム内で「シーク可能」ではないため、結果ビデオが壊れています。

Android搭載デバイスのカメラを使用してRed5に結果を公開することです。

答えて

2

はい、可能ですが、そのための例が多数あります。 チェックアウト可能ですsipdroid例。 さらにはさらにAndroid IP cameraでも簡単です。

幸運

+1

[ここです](http://code.google.com/p/ipcamera-for-android/source/browse/trunk/droidipcam/src/teaonly:ここ はのFileDescriptorとソケットとサンプルコードであります/projects/droidipcam/StreamingLoop.java)関連するコード。ループバックされたunixソケットを使用してデータを取得しているようです。ちょっとハッキーだけど、あまりにもないと思う。 – Timmmm

1

はい可能です。

socket = new Scoket("192.168.1.234",8888); 
    ParcelFileDescriptor fileDescriptor = PercelFileDescriptor.fromSocket(socket); 

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

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

    mRecorder.start();