タイトルが実際に言うこと。電話でマイクからオーディオをストリーミングし、コンピュータのデスクトップアプリケーション(Javaコード)で再生する必要があります。Androidからデスクトップアプリケーションへの音声ストリーミング
UDPまたはTCPを使用しても問題はありません。とにかく電話とコンピュータは同じNAT上にあるので、送信は正常に動作します。私はPC上で私のJavaアプリケーションで、このストリームを再生しますか
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
String host = "10.0.2.2";
int port = 5740;
Socket socket = null;
try {
socket = new Socket(InetAddress.getByName(host), port);
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
recorder.setOutputFile(pfd.getFileDescriptor());
recorder.prepare();
recorder.start();
Log.d(TAG, "Sending audio for 20 seconds..");
Thread.sleep(20000);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
問題がある、:
私はこのコードを使用して、デバイスからのストリームデータを送信する方法の公正なアイデアを持っていますか? または、音を流すためのより良い方法はありますか?私はこれについての情報を得るためにインターネットを採掘しましたが、良い結果はありませんでしたが、確かに誰かがこれを達成しているに違いないでしょうか?
ご協力いただきありがとうございます。
ここでは電話機がクライアントで、デスクトップPCはサーバーなので、ServerSocketが使用される場所です。 – Nick
@ニック:これは問題ではないと思います。 –
はい、Nickの言うとおり、デスクトップPCはここのサーバーです。しかし、アプリのデコードに関するヒントをありがとう。私はそれらを見ていきます。 –