2011-06-18 8 views
11

के साथ ध्वनि चलाएं मुझे अपने आवेदन में एक छोटी सी आवाज चलाने की आवश्यकता है। मैंने निम्नलिखित कोड लिखा लेकिन मेरे सैमसंग फोन पर कोई आवाज और अजीब कंपन नहीं आई है। लेकिन साथ ही यह कोड मेरे एंड्रॉइड सिम्युलेटर पर भी अच्छा काम करता है। मेरा कोड है:SoundPool

package com.samplers; 

import android.app.Activity; 
import android.media.SoundPool; 
import android.media.AudioManager; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class FixVibroActivity extends Activity { 
    /** Called when the activity is first created. */ 

    private Button white; 
    private SoundPool spool; 
    private int soundID; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     this.setVolumeControlStream(AudioManager.STREAM_MUSIC); 
     spool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0); 
     soundID = spool.load(this, R.raw.error, 1); 

     white = (Button)findViewById(R.id.whiteBtn); 
     white.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Sound(); 
      } 
     }); 
    } 

    public void Sound(){ 
     AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
     float volume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     spool.play(soundID, volume, volume, 1, 0, 1f); 
    }; 
} 

कृपया इस समस्या को हल करने में मेरी सहायता करें, कृपया! आपका अग्रिम में ही बहुत धन्यवाद! :)

+1

क्या आप जांच सकते हैं कि लॉगकैट किसी भी रोचक त्रुटियों को प्रिंट करता है या नहीं? – FeatureCreep

उत्तर

7

या तो आपके वॉल्यूम नियंत्रण के साथ या आपकी ध्वनि फ़ाइल सही तरीके से खेलने में कोई समस्या हो सकती है: यदि आप Sound() फ़ंक्शन को बदलते हैं तो यह क्या करता है? यदि आपका फोन R.raw.error फ़ाइल प्रारूप को सही तरीके से संभाल नहीं रहा है, लेकिन एमुलेटर सही ढंग से ऐसा कर रहा है जो बहुत अजीब होगा।

public void Sound(){ 
     AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
     float volume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     android.util.Log.v("SOUND","["+volume+"]["+spool.play(soundID, volume, volume, 1, 0, 1f)+"]"); 
    }; 
+2

आपके रीप्ले के लिए धन्यवाद! समस्या सुलझ गई है! :) मैंने * .ogg से * .wav और bingo से फ़ाइल प्रारूप बदल दिया !!!! :) मदद के लिए धन्यवाद! :) – lubart

+4

आह, फोन अंडे का समर्थन नहीं करता है लेकिन एमुलेटर करता है। जानकार अच्छा लगा। सोचा कि यह फ़ाइल प्रारूप हो सकता है। – Femi

+0

फोन इस प्रारूप का समर्थन करता है। यह फ़ाइल मीडियाप्लेयर के साथ खेला गया था लेकिन केवल एक बार और उसके बाद मौन था। किसी भी मामले में मेरे लिए अच्छी खबर :) धन्यवाद फिर से! :) – lubart

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