2012-06-05 8 views
19

मैं Camera कक्षा से takePicture() विधि का उपयोग कर रहा हूं। यह तस्वीर लेता है, लेकिन यह कोई आवाज नहीं बनाता है! मेरा क्लाइंट डिफ़ॉल्ट क्लिक ध्वनि चाहता है जो एंड्रॉइड बनाता है।एंड्रॉइड: टेकचित्र() ध्वनि नहीं बना रहा

मैंने अन्य धागे देखे हैं और ऐसा लगता है कि समस्या ध्वनि को अक्षम करने में है, विपरीत नहीं! ऐसा क्यों है कि मेरा ऐप क्लिक ध्वनि नहीं बना रहा है ??

उत्तर

51

मुझे यह समस्या भी थी।

clickButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(final View view) { 
       mCamera.takePicture(shutterCallback, null, onPicTaken); 
      } 
     }); 

अब shutteerCallBack: निम्नलिखित takePicture कॉल करने के लिए प्रयोग किया जाता है : मैं निम्नलिखित कोड का उपयोग करके इसे हल

private final ShutterCallback shutterCallback = new ShutterCallback() { 
     public void onShutter() { 
      AudioManager mgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
      mgr.playSoundEffect(AudioManager.FLAG_PLAY_SOUND); 
     } 
    }; 

अब क्या जो कुछ भी कैमरे से तस्वीर लेने के बाद:

 /** 
    * This will be called after taking picture from camera. 
    */ 
    final transient private PictureCallback onPicTaken = new PictureCallback() { 
     /** 
     * After taking picture, onPictureTaken() will be called where image 
     * will be saved. 
     * 
     */ 
     @Override 
     public void onPictureTaken(final byte[] data, final Camera camera) { 
     } 

यह कैप्चर बटन पर क्लिक करने पर ध्वनि बजाएगा।

धन्यवाद

+0

वाह !!!! आपने मेरा दिन श्रीकांत बचाया !! इसने काम कर दिया!! = डी बहुत बहुत धन्यवाद !! =) बस एक और सवाल। मैं गैलेक्सी टैब 10.1 का उपयोग कर रहा हूं और यह मेरे ऐप पर जो आवाज बनाता है वह उतना ही नहीं है जितना टैबलेट में डिफ़ॉल्ट कैमरा ऐप करता है। क्या आपको लगता है कि सैमसंग ने अपने मूल कैमरा एप्लिकेशन के लिए ध्वनि को अनुकूलित किया हो सकता है? – Tiago

+0

हाँ हो सकता है, लेकिन गंभीरता से बोल रहा है, मुझे इसके बारे में बहुत यकीन नहीं है। – Shrikant

+0

आपका स्वागत है :) – Shrikant

17

:) आप एक कैमरा डिफ़ॉल्ट एंड्रॉयड ध्वनि चलाने के लिए चाहते हैं, आप इसे एक खाली शटर कॉलबैक देना पड़ता है।

ShutterCallback shutterCallback = new ShutterCallback() { 
    @Override 
    public void onShutter() { 
     /* Empty Callbacks play a sound! */ 
    } 
}; 

mCamera.takePicture(shutterCallback , null, onPicTaken); 

HTC एक एसवी और सैमसंग गैलेक्सी Xcover 2.

पर परीक्षण किया आप कॉलबैक एक खाली शटर कॉलबैक देना और फिर इसे डिफ़ॉल्ट ध्वनि निभाता है।

यदि आप takePicture को शून्य ShutterCallback पर कॉल करते हैं तो कैमरा कोई आवाज नहीं बजाएगा।

श्रीकांत का उत्तर काम कर रहा है, लेकिन mgr.playSoundEffect(); के रूप में अप्रत्याशित रूप से व्यवहार कर सकता है AudioManager.FLAG_PLAY_SOUNDthe doc राज्यों के रूप में नहीं कहा जाना चाहिए।

+0

मेरे लिए काम किया। धन्यवाद @ होलो – Ahsanwarsi

-1

MediaPlayer() कक्षा का उपयोग करें जब आप चित्र लेते हैं

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