मैं एक ऐप पर काम कर रहा हूं जो दोनों ऑडियो फाइल रिकॉर्ड करेगा, और उसके बाद रिकॉर्ड होने के बाद उस फ़ाइल को वापस चलाने का विकल्प होगा। यूआई में एक ईक्यू घटक है जो रिकॉर्डिंग के वर्तमान आयाम के सापेक्ष एनिमेट करता है। मुझे एनीमेशन MediaRecorder.getMaxAmplitude()
विधि के माध्यम से काम कर रहा है, लेकिन MediaPlayer के साथ ऐसा करने के लिए कोई साधन नहीं मिल रहा है। मुझे पता है कि यह संभव होना चाहिए क्योंकि डिफ़ॉल्ट रूप से संगीत विज़ुअलाइज़ेशन लाइव वॉलपेपर हैं जो इस कार्यक्षमता को निष्पादित करते हैं लेकिन मैं एओएसपी के माध्यम से उस जानकारी को खींचने के किसी भी तरीके से नहीं देख सकता। क्या कोई जानता है कि यह काम कैसे करें?मैं एंड्रॉइड मीडियाप्लेयर में वर्तमान वॉल्यूम/आयाम कैसे प्राप्त करूं?
उत्तर
मुझे लगता है कि आपको AudioManager का उपयोग करना है। एपीआई में कहा गया है के रूप में यह मात्रा पर नियंत्रण के लिए इस्तेमाल किया जा सकता:
AudioManager मात्रा और रिंगर मोड नियंत्रण के लिए उपयोग प्रदान करता है।
इस कक्षा का उदाहरण प्राप्त करने के लिए Context.getSystemService (Context.AUDIO_SERVICE) का उपयोग करें।
तब मुझे लगता है कि this method उपयोगी होगा।
यही वह जगह है जहां मैं चारों ओर घूम रहा था लेकिन वह विधि वर्तमान में डिवाइस के सेट वॉल्यूम स्तर को वापस लाती है, प्लेबैक स्तर नहीं। –
अंतर कहां है? शायद आप गलत स्ट्रीम की मात्रा मांग रहे हैं? – Janusz
वर्तमान प्लेबैक स्ट्रीम के लिए वॉल्यूम का सवाल नहीं है, लेकिन वास्तविक मीडिया की मात्रा वापस खेली जा रही है। सिर्फ इसलिए कि आपकी संगीत स्ट्रीम वॉल्यूम 60% पर सेट है, इसका मतलब यह नहीं है कि उस पल में ध्वनि की मात्रा उसी स्तर पर है। यह गीत का एक शांत हिस्सा हो सकता है। – MattC
मैं थोड़ी देर के लिए something similar करने का कोई तरीका ढूंढ रहा हूं। मैं वास्तव में मीडिया स्ट्रीम पर खेले जाने वाले किसी भी चीज़ की मात्रा/आयाम को देखने में सक्षम होना चाहता हूं, लेकिन मैं वर्तमान में जो कुछ खेल रहा हूं उसके लिए ऐसा करने में सक्षम होने के लिए मैं बसूंगा।
अब तक, मुझे मिला सबसे अच्छा समाधान RingDroid में लागू किया गया है। मैंने कोड को बहुत गहराई से नहीं देखा है, लेकिन ऐसा लगता है कि रिंगड्रॉइड ने इसका साउंडमैप बनाया है, वास्तव में ध्वनि फ़ाइल बिट का थोड़ा सा विश्लेषण कर रहा है।
मैंने एक समान दृष्टिकोण का उपयोग करने पर विचार किया है और फिर एक विज़ुअलाइज़र प्रदर्शित किया है जो ऑडियो फ़ाइल से अलग है, लेकिन सिंक्रनाइज़ गति पर चलता है। हालांकि, ऐसा कुछ ऐसा लगता है जो कुछ आसान हो सकता है।
आप Audiomanager class.The कोड की मदद से मीडिया प्लेयर की वर्तमान मात्रा प्राप्त कर सकते हैं इस प्रकार है: -
AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE);
int volume_level= am.getStreamVolume(AudioManager.STREAM_MUSIC);
इसी तरह, आप मीडिया player.You के डिफ़ॉल्ट मात्रा सेट करना चाहते हैं कर सकते हैं करना है कि के रूप में की तरह: -
am.setStreamVolume(
AudioManager.STREAM_MUSIC,
volume_level,
0);
कि all..Happy कोडिंग है :)
वह वह नहीं है जो वह पूछ रहा है। वह वर्तमान आउटपुट स्तर की मांग कर रहा है, वॉल्यूम सेटिंग नहीं। –
आप DATALINE में getLevel() को लागू करने की है। यह जावा के रूप में बस के करीब है।
इसमें ध्वनि स्ट्रीम बफर से आयाम डेटा के चल रहे औसत की गणना करना शामिल है। इससे बफर तक पहुंचने के लिए बहुत सारे बस यातायात का कारण बनता है, इसलिए अमूर्त विधि के रूप में छोड़ा जाता है।
रूट स्क्वायर मीन आरएमएस एक दृष्टिकोण है: FFT के साथ
https://community.oracle.com/message/5391003
डीएसपी अधिक पूर्ण ध्वनि प्रोफ़ाइल देता है, लेकिन और अधिक CPU संसाधनों खपत करता है। यदि आपको केवल आरएमएस की आवश्यकता है तो पूर्ण डीएसपी पर स्लैम न करें। प्रदर्शन में सुधार के लिए अपने नमूने की गुणवत्ता सीमित करें।
आप भाग्य में हैं।विजुअलाइज़र नामक एक वर्ग है जो आपको लगता है कि आप क्या करेंगे।
import android.app.Activity;
import android.media.audiofx.Visualizer;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
private Visualizer audioOutput = null;
public float intensity = 0; //intensity is a value between 0 and 1. The intensity in this case is the system output volume
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createVisualizer();
}
private void createVisualizer(){
int rate = Visualizer.getMaxCaptureRate();
audioOutput = new Visualizer(0); // get output audio stream
audioOutput.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {
@Override
public void onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate) {
intensity = ((float) waveform[0] + 128f)/256;
Log.d("vis", String.valueOf(intensity));
}
@Override
public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate) {
}
},rate , true, false); // waveform not freq data
Log.d("rate", String.valueOf(Visualizer.getMaxCaptureRate()));
audioOutput.setEnabled(true);
}
}
आप इन अनुमतियों की आवश्यकता होगी:
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>
- 1. मैं वर्तमान श्रेणी आईडी कैसे प्राप्त करूं?
- 2. मैं वर्तमान कैरेट स्थिति कैसे प्राप्त करूं?
- 3. एंड्रॉइड - कैसे कहें मीडियाप्लेयर
- 4. एंड्रॉइड: मीडियाप्लेयर
- 5. एंड्रॉइड मीडियाप्लेयर
- 6. मीडियाप्लेयर सेवा एंड्रॉइड
- 7. एंड्रॉइड: मीडियाप्लेयर, ऑडियो स्ट्रीम के गुण कैसे प्राप्त करें?
- 8. मैं WPF में वर्तमान माउस स्क्रीन निर्देशांक कैसे प्राप्त करूं?
- 9. पायथन में, मैं वर्तमान फ्रेम कैसे प्राप्त करूं?
- 10. सी #: मैं वर्तमान समय को स्ट्रिंग में कैसे प्राप्त करूं?
- 11. क्यूटी: मैं वर्तमान में चल रही विंडो कैसे प्राप्त करूं?
- 12. मैं वेब सेवा में वर्तमान निर्देशिका कैसे प्राप्त करूं
- 13. मैं रेक में वर्तमान नेमस्पेस कैसे प्राप्त करूं?
- 14. एंड्रॉइड मीडियाप्लेयर - STREAM_ALARM में कैसे खेलें?
- 15. एंड्रॉइड में वीडियो व्यू के मीडियाप्लेयर प्राप्त करें
- 16. एंड्रॉइड मीडियाप्लेयर त्रुटि कोड?
- 17. एंड्रॉइड सर्विस कंट्रोलिंग मीडियाप्लेयर
- 18. मैं वर्डप्रेस पर वर्तमान वर्गीकरण शब्द आईडी कैसे प्राप्त करूं?
- 19. मैं वर्तमान स्क्रीन कर्सर स्थिति कैसे प्राप्त करूं?
- 20. मैं वर्तमान माह का पहला दिन कैसे प्राप्त करूं?
- 21. मैं पाइथन के साथ वर्तमान फ़ाइल, वर्तमान कक्षा, और वर्तमान विधि कैसे प्राप्त करूं? फ़ाइल का
- 22. एंड्रॉइड मीडियाप्लेयर तैयार में फंस गया()
- 23. मीडियाप्लेयर में बाइट सरणी चलाएं - एंड्रॉइड
- 24. एंड्रॉइड: वर्तमान वाईफाई एन्क्रिप्शन कैसे प्राप्त करें?
- 25. मैं वर्तमान प्रक्रिया को कैसे सूड करूं?
- 26. एंड्रॉइड 4.0.4 मीडियाप्लेयर आरटीएसपी यूआरएल
- 27. कोड में स्लाइडर का वर्तमान मान कैसे प्राप्त करूं?
- 28. ओपनजीएल में मैट्रिक्स स्टैक का वर्तमान आकार कैसे प्राप्त करूं?
- 29. मुझे रुबी में वर्तमान निर्देशिका का नाम कैसे प्राप्त करूं?
- 30. मैं ग्रहण में स्केलेटेस्ट कैसे प्राप्त करूं?
मैं अपने को स्वीकार कर लिया जवाब से उलझन में हूँ, ऐसा लगता है कि यह टिप्पणी से आपकी समस्या का समाधान नहीं किया था, यह सही है? –