मैं एक ऐसा एप्लिकेशन बना रहा हूं जिसमें स्क्रीन पर एकाधिक छवियां होंगी, ये छवियां बटन होंगी और जब टैप किया जाएगा तो एक छोटी आवाज बजाएगी। मैंने इसका शोध किया और केवल उस मौजूदा विधि को ढूंढ सकता हूं जिसे मैं ध्वनि चलाने के लिए उपयोग कर रहा हूं, जो बिल्कुल प्रतिक्रियाशील नहीं लगता है। मैं चाहता हूं कि ध्वनि जल्दी से खेलता है और कई तेज़ नल के प्रति उत्तरदायी है। मैं अनिश्चित था अगर यह एंड्रॉइड में भी संभव था।लघु ध्वनि एंड्रॉइड खेलने का सही तरीका?
कोड मैं अपने ध्वनि चलाने के लिए उपयोग कर रहा हूँ यह है:
Button sound1;
MediaPlayer firstSound;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
firstSound = MediaPlayer.create(SoundActivity.this, R.raw.click);
sound1 = (Button) findViewById(R.id.Sound1);
beaver.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
firstSound.start();
}
});
}
मेरे अंतराल मुद्दा भी शायद तरह से मैं मीडिया प्लेयर वस्तु का उपयोग कर रहा करने के लिए नीचे हो सकता है? मुझे लगता है कि यह मेरे फोन पर चिकना होना चाहिए, एंड्रॉइड में ध्वनि कैसे खेलें इस पर कोई सुझाव है।
धन्यवाद।
ध्वनि पूल की खोज के बाद से, मैं इस का उपयोग करने के लिए अपने कोड को संपादित किया है और यह पूरी तरह से काम करता है, नए कोड इस तरह दिखता है:
SoundPool soundPool;
HashMap<Integer, Integer> soundPoolMap;
int soundID = 1;
Button sound1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
soundPoolMap = new HashMap<Integer, Integer>();
soundPoolMap.put(soundID, soundPool.load(this, R.raw.click, 1));
sound1 = (Button) findViewById(R.id.bBeaver);
sound1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
float curVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
float maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float leftVolume = curVolume/maxVolume;
float rightVolume = curVolume/maxVolume;
int priority = 1;
int no_loop = 0;
float normal_playback_rate = 1f;
soundPool.play(soundID, leftVolume, rightVolume, priority, no_loop, normal_playback_rate);
}
});
}
धन्यवाद
ऐसा लगता है कि आप अपने soundPoolMap का उपयोग नहीं कर रहे हैं? – Moberg
आपके द्वारा कार्यान्वित तरीके से प्यार करता है, एक बार – desgraci
पर अच्छी तरह से काम करता है बहुत बहुत धन्यवाद। यह बहुत अच्छा काम करता है ...! MediaPlayer मुद्दों के साथ कई घंटे बिताए जाने के बाद –