2012-07-04 8 views
5

ठीक है, ठीक है। पहली बार मैं एक समस्या को ठीक करने के लिए जावा का उपयोग कर रहा हूं। मैंने Sennheiser 120 एचडी नामक एक नया हेडफोन सेट खरीदा; लेकिन एक मुद्दा है। यदि ऑडियो का निरंतर उत्सर्जन नहीं होता है तो हेडफ़ोन के लिए आधार अंततः समाप्त हो जाएगा और बंद हो जाएगा। हेडफ़ोन स्थिर के साथ स्पैम किए जाते हैं, जो कानों पर भयानक है। मेरे लिए इसका समाधान वर्तमान में मृत्यु की स्थिरता को रोकने के लिए संगीत 24/7 चला रहा है। शायद मैं अजीब हूँ, लेकिन मैं संगीत सुनना नहीं चाहता 24/7।क्या एक निश्चित आवृत्ति निरंतर उत्सर्जित करने के लिए जावा में कोई लाइब्रेरी है?

मेरा मानना ​​है कि इसके लिए एक व्यावहारिक समाधान लगातार एक ध्वनि को उत्सर्जित करना होगा जिसे बेस पता लगा सकता है लेकिन मैं नहीं सुन सकता। एप्लिकेशन को 24/7 होने के बाद से कुशल होने की आवश्यकता होगी।

मैं कुछ शोध कर रहा हूं, लेकिन मैं जावा के साथ अनुभव नहीं कर रहा हूं। मैं एक निश्चित आवृत्ति उत्सर्जित करने के लिए कोई पुस्तकालय नहीं ढूंढ पा रहा हूं। क्या कोई इनमें से किसी के बारे में जानता है?

यह सबसे अच्छा हो सकता है, 4 दिन के भीतर इस के लिए समाधान पाने के लिए पहले की दुकान पर मेरी वापसी नीति अब वैध नहीं है जाएगा। अगर यह काम नहीं करता है तो परेशान करें।

Email from Sennheiser

+1

स्टोर क्रेडिट के लिए हेडफ़ोन वापस करना आसान नहीं होगा क्योंकि वे स्पष्ट रूप से उद्देश्य के लिए उपयुक्त नहीं हैं? या उसमें असफल रहा, जब आपको उनकी आवश्यकता नहीं है तो बस उन्हें बंद कर दें? – biziclop

+1

वैसे, मुझे लगता है कि निरंतर शून्य सिग्नल खेलना काम करेगा। आप अपने मीडिया प्लेयर को जॉन कैज के सर्वश्रेष्ठ ज्ञात टुकड़े लूप पर सेट कर सकते हैं। – biziclop

+0

जब आप अपना ऑडियो स्रोत चालू करते हैं तो ये फिर से सक्रिय होते हैं। तो, आप बस किसी भी संगीत को सुनने के बिना पहनना चाहते हैं? – opyate

उत्तर

1

मुझे लगता है कि आप पाएंगे कि एक निरंतर आवृत्ति ध्वनि को सुनने के कान पर दर्दनाक होता है। हालांकि, आप इसे कुछ ऐसा कर सकते हैं, केवल मानक जावा पुस्तकालयों का उपयोग करके:

AudioFormat format = new AudioFormat(44000f, 16, 1, true, false); 
SourceDataLine line = (SourceDataLine)AudioSystem.getLine(new DataLine.Info(SourceDataLine.class, format)); 

line.open(format); 
line.start(); 

double f = 440; // Hz 
double t = 3; // seconds 

byte[] buffer = new byte[(int)(format.getSampleRate() * t * 2 + .5)]; 

f *= Math.PI/format.getSampleRate(); 

for(int i = 0; i < buffer.length; i += 2) { 
    int value = (int)(32767 * Math.sin(i * f)); 
    buffer[i + 1] = (byte)((value >> 8) & 0xFF); 
    buffer[i] = (byte)(value & 0xFF); 
} 

line.write(buffer, 0, buffer.length); 

line.drain(); 
+0

मैं एक आवृत्ति के बारे में सोच रहा था जो श्रव्य नहीं है, मच्छर टोन की तुलना में थोड़ा अधिक ढंका हुआ है जो छात्र के वर्ग में अपने सेलफोन का उपयोग करने के लिए उपयोग करने के लिए उपयोग करते हैं। संपादित करें: स्रोत कोड को देखकर समाप्त हो गया। कथन के लिए मुश्किल से कुछ भी समझ में आता है। शायद एक दिन मैं उस बिंदु पर जाऊंगा; हालांकि यह संशोधित करने में आसान लग रहा है। धन्यवाद, मैं जल्द ही कोशिश करूँगा। –

+0

उस मामले में मुझे संदेह है कि बिज़िकलोप के शून्य सिग्नल समाधान को काम करना चाहिए। यदि ऐसा नहीं होता है, तो मैं 4 हर्ट्ज कह सकता हूं, एक उपरोक्त आवृत्ति का सुझाव दे सकता हूं। उच्च आवृत्ति आपके कानों में चीजें कर सकती है भले ही आप इसे नहीं सुन सकें। –

+0

एचएम, 4 हर्ट्ज मुश्किल से श्रव्य है। चूंकि शटऑफ के बीच का समय लगातार है, तो यह हर चालीस सेकंड में लगभग एक सेकंड तक खेलने के लिए काम करेगा? (1000) के लिए (40,000) –

संबंधित मुद्दे

 संबंधित मुद्दे