2011-01-28 15 views
11

के साथ रिकॉर्ड आवाज मैं जावा एप्लिकेशन का उपयोग करके आवाज रिकॉर्ड करना चाहता हूं; मुझे लगता है कि यह मूल रूप से एक एप्लेट होगा जो क्लाइंट साइड पर चलेगा। लेकिन मुझे यह नहीं पता कि यह कैसे करना है ... कोई विचार? इसके अलावा, मैं रिकॉर्ड की गई आवाज खेलना चाहता हूं।जावा

मैंने जावा स्पीच एपीआई के बारे में सुना है। कोई विचार अगर यह मदद कर सकता है?

+0

कुछ नमूना कोड है एक नज़र डालें: http://ditra.cs.umu.se/jmf2_0-guide-html/JMFCapturing.html – pingw33n

+0

@ pingw33n - समझने के लिए बहुत पूरा :( – Varun

उत्तर

7

मैं पार्टी के लिए देर से कर रहा हूँ, लेकिन यहाँ पर कब्जा ऑडियो पर सरकारी डॉक्स हैं: http://docs.oracle.com/javase/tutorial/sound/capturing.html

(और यहाँ ऊपर के लिंक से सीधे कॉपी किया यह करने के लिए :)

TargetDataLine line; 
DataLine.Info info = new DataLine.Info(TargetDataLine.class, 
       format); // format is an AudioFormat object 
if (!AudioSystem.isLineSupported(info)) { 
    // Handle the error ... 

} 
// Obtain and open the line. 
try { 
    line = (TargetDataLine) AudioSystem.getLine(info); 
    line.open(format); 
} catch (LineUnavailableException ex) { 
    // Handle the error ... 
} 

// Assume that the TargetDataLine, line, has already 
// been obtained and opened. 
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
int numBytesRead; 
byte[] data = new byte[line.getBufferSize()/5]; 

// Begin audio capture. 
line.start(); 

// Here, stopped is a global boolean set by another thread. 
while (!stopped) { 
    // Read the next chunk of data from the TargetDataLine. 
    numBytesRead = line.read(data, 0, data.length); 
    // Save this chunk of data. 
    out.write(data, 0, numBytesRead); 
} 
+0

आपके उदाहरण में मुझे रुक गई लाइन में एक त्रुटि है, क्या आप मेरी मदद करें – Abderrahim

+0

मैंने 4+ साल पहले लिखा था ... और मैंने इसे उस यूआरएल से कॉपी किया था, लेकिन मुझे लगता है कि आप संकलन त्रुटियां कर रहे हैं? वह 'सेंट opped' वैरिएबल अनिवार्य रूप से एक चर के लिए प्लेसहोल्डर है जिसे आपको कहीं और सेट करना/बनाना/बनाए रखना चाहिए, यह जानने के लिए कि क्या आपने रिकॉर्डिंग बंद कर दी है या नहीं। तो यह आपके मामले के लिए बहुत खास है। – xbakesx