एंड्रॉयड की ओर से मुझे लगता है कि सबसे अच्छा समाधान आपके कंप्यूटर में सेवा करने के लिए कनेक्शन को खोलने के लिए है:
URL url = new URL("http://192.186.0.1/path/to/service");
URLConnection connection = url.openConnection();
एक OutputStream के रूप में यह प्राप्त करें:
OutputStream out = new BufferedStream(connection.getOutputStream());
और उसके बाद रिकॉर्ड किए गए डेटा को भेजने के लिए AudioRecord
का उपयोग करें:
public static final int DEFAULT_SAMPLE_RATE = 8000;
private static final int DEFAULT_BUFFER_SIZE = 4096;
private static final int CALLBACK_PERIOD = 4000;
AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.DEFAULT,
DEFAULT_SAMPLE_RATE, AudioFormat.CHANNEL_CONFIGURATION_DEFAULT,
AudioFormat.ENCODING_DEFAULT, DEFAULT_BUFFER_SIZE);
recorder.setPositionNotificationPeriod(CALLBACK_PERIOD);
int bytesRead = 0;
ByteBuffer buffer = ByteBuffer.allocateDirect(DEFAULT_BUFFER_SIZE);
while ((bytesRead = recorder.read(buffer, DEFAULT_BUFFER_SIZE)) > 0) {
out.write(buffer.array(), 0, bytesRead);
}
यह सब ऐप को दुर्घटनाग्रस्त होने और रिकॉर्डिंग बंद होने या कनेक्शन खो जाने पर संभालने के लिए एक तंत्र को रोकने के लिए पाठ्यक्रम के एक अलग थ्रेड पर किया जाना चाहिए। साथ ही, मुझे यकीन है कि इसे वाईफाई पर काम करना चाहिए हालांकि मुझे यकीन नहीं है कि यह ब्लूटूथ के साथ समान होगा (हालांकि बीटी के साथ अधिकांश डिवाइसों में वाईफाई है और आपको अधिक बैंडविड्थ मिलती है)
मेरे पास नहीं है इस कोड का परीक्षण किया, इसलिए मुझे 100% यकीन नहीं है कि यह काम करेगा।
अगली बात ऑडियो पर इच्छा ऐप में स्थानांतरित करने के लिए मशीन पर होगी, लेकिन यह मेरे अनुभव से ऊपर है। मुझे कल्पना है कि आपको वर्चुअल ड्राइवर या ऐसा कुछ करना होगा। डेस्कटॉप ऐप से फोन में भेजे गए ऑडियो के लिए भी व्यस्त तंत्र करना होगा (मुझे उस हिस्से में दिलचस्पी है क्योंकि फिल्मों को देखने के लिए एक अच्छा वायरलेस हेडसेट भी होगा)।
यहां मेरे 2 सेंट हैं; मैं जानना चाहता हूं कि यह काम करता है या नहीं। ;)
मुझे समान funcationality चाहिए। मैं पीसी से कॉल करना चाहता हूं ऑडियो (VOICE_DOWNLINK) को स्पीकर फोन के रूप में पीसी पर वापस भेज दिया गया है। लेकिन माइक को फोन पर रखें – Mark
यह एक छोटा अनुरोध नहीं है; एक मिनट में ब्लूज़ में आपको एक की आवश्यकता होगी) एसडीपी रिकॉर्ड में हाथ से मुक्त भूमिका जोड़ें। बी) एसडीपी रिकॉर्ड से ऑडियो गेटवे निकालें। सी) हेडसेट की नकल करने के लिए डिवाइस की फोन की कक्षा बदलें। यह सिर्फ हाथ से मुक्त प्रोफाइल से कनेक्ट करने के लिए है। जहां तक ऑडियो भेजना आदि, यह एक और चुनौती है। मुझे यकीन नहीं है कि bluedroid के लिए भी इसका समर्थन है; आपको कस्टम कर्नेल की आवश्यकता हो सकती है। – TwinPrimesAreEz