Ce que le titre dit vraiment. J'ai besoin de diffuser l'audio du microphone sur le téléphone et le lire dans une application de bureau (également le code Java) sur un ordinateur.Diffusion audio depuis Android vers une application de bureau
L'utilisation de UDP ou de TCP n'a pas d'importance pour moi, quoi que ce soit qui fonctionne le mieux. Le téléphone et l'ordinateur seront sur le même NAT de toute façon, donc la transmission fonctionnera correctement.
J'ai une bonne idée de la façon d'envoyer les données de flux de l'appareil en utilisant ce code:
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();
}
Le problème est, comment puis-je jouer ce flux dans mon application Java sur le PC? Ou y at-il une meilleure façon de diffuser le son?
J'ai fait des recherches sur Internet pour obtenir des informations à ce sujet, mais sans de bons résultats, mais sûrement quelqu'un doit avoir accompli cela avant?
Merci d'avance pour toute sorte d'aide!
On dirait que le téléphone est le client ici, et l'ordinateur de bureau est le serveur, c'est là que ServerSocket serait utilisé. – Nick
@Nick: je suppose que cela n'a pas d'importance dans ce cas. –
Oui, comme le dit Nick, le PC de bureau est le serveur ici. Mais merci pour les conseils sur les applications de décodage. Je vais jeter un coup d'oeil à ceux-ci. –