2013-07-13 29 views
6

Tôi có cài đặt camera tùy chỉnh mà tôi muốn có âm thanh của riêng mình khi chụp ảnh bằng API 10. Tôi có mã sau đây play my sound nhưng cũng phát âm thanh máy ảnh mặc định tốt, tôi chỉ cần phát âm thanh máy ảnh của mình chứ không phải âm thanh mặc định.Máy ảnh có âm thanh màn trập tùy chỉnh

//takes picture 
    mCamera.takePicture(myShutterCallback, myPictureCallback_RAW, myPictureCallback_JPG); 

    ShutterCallback myShutterCallback = new ShutterCallback() { 

    @Override 
    public void onShutter() { 
     MediaPlayer.create(SecondCamera.this,R.raw.camera_click).start(); 
    } 
}; 

Trả lời

7

Hãy thử điều này,

if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.JELLY_BEAN_MR1){ 
     camera.enableShutterSound(false); 

} 
else{ 
     AudioManager audio= (AudioManager)this.getApplicationContext().getSystemService(Context.AUDIO_SERVICE); 
     currentVolume=audio.getStreamVolume(AudioManager.STREAM_SYSTEM);    
     audio.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
     MediaPlayer media= MediaPlayer.create(SecondCamera.this,R.raw.camera_click); 
     media.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); 
     isVolumeChanged=true;   
    } 

Làm trên trước khi onShutter() sau đó gọi media.start() trên onShutter()

đó trở đi onPictureTaken() làm như sau.

public void onPictureTaken(byte[] data, Camera camera) { 


     if (isVolumeChanged){ 
      audio.setStreamVolume(AudioManager.STREAM_SYSTEM,currentVolume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
     } 
    }  

Hy vọng điều này sẽ giúp !!!!!

+0

Cảm ơn bạn đã chia sẻ, tôi sẽ thử ngay bây giờ – kabuto178

+0

Điều này có vẻ như là lừa, nhờ con trỏ – kabuto178

Các vấn đề liên quan