快门噪音停止

时间:2017-02-14 07:20:23

标签: android noise audioflinger shutter

大约10-15张照片后,快门噪音停止工作,并且在您重新启动应用程序之前不会再回来。这个错误在android studio中:

02-10 10:20:03.626 491-13501/? E/AudioFlinger: no more track names 
available 02-10 10:20:03.626 491-13501/? E/AudioFlinger: 
createTrack_l() initCheck failed -12; no control block? 02-10 
10:20:03.626 31837-31837/ E/AudioTrack: AudioFlinger could not create 
track, status: -12 02-10 10:20:03.627 31837-31837/ E/SoundPool: Error 
creating AudioTrack

以下是代码:

Thread myThread = new Thread(new Runnable() {
    @Override
    public void run() {
        MediaActionSound sound = new MediaActionSound();
        sound.play(MediaActionSound.SHUTTER_CLICK);
    }
} 

1 个答案:

答案 0 :(得分:1)

在我的应用程序中,我使用此代码。我也有类似的问题(声音在几次播放后没有播放到最后)。但重用后(而不是重新创建)MediaActionSound问题已经消失。

PS:声音异步播放,因此您无需创建线程。

static private MediaActionSound sound = null;

static public void playShutterSound(){
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
        if(sound == null) {
            sound = new MediaActionSound();
        }
        sound.play(MediaActionSound.SHUTTER_CLICK);
    }
}