在Double Infinite soundPool启动后,stop()函数无效。为什么?

时间:2016-12-12 22:44:47

标签: android soundpool

以下代码:

var passport = require('passport');
var User = require('../models/user');
var config = require('./auth');
var JwtStrategy = require('passport-jwt').Strategy;
var ExtractJwt = require('passport-jwt').ExtractJwt;
var LocalStrategy = require('passport-local').Strategy;

var localOptions = {
    usernameField: 'email',
    passwordField: 'password' 
};

var localLogin = new LocalStrategy(localOptions, function(email, password, done){    
    //breaks here
    console.log(email)
    User.findOne({  
        email: email
    }, function(err, user){

        console.log(user);

        if(err){
            return done(err);
        }

        if(!user){
            return done(null, false, {error: 'Login failed. Please try again.'});
        }

        user.comparePassword(password, function(err, isMatch){

            if(err){
                return done(err);
            }

            if(!isMatch){
                return done(null, false, {error: 'Login failed. Please try again.'});
            }

            return done(null, user);

        });

    });

});

passport.use(localLogin);

如果,我调用double gPlaySound()方法,stop()方法停止工作。为什么呢?

1 个答案:

答案 0 :(得分:0)

stop方法通过soundID来streemingId no来停止soundPool。必须添加以下代码:

int streamingId;
protected void gPlaySound(){
    streamingId = globalSoundPool.play(globalSoundIDCoin, gVolume, gVolume, 1, -1, (float) 2.0);
}
public void gStop() {
        globalSoundPool.stop(streamingId);
    }