小编Chr*_*son的帖子

Android相机准备失败

我正在尝试为Android设备构建一个简单的录像机,但我的成功有限并且结果好坏参半.它工作一次,但现在,没有改变任何东西,我得到一个"相机不可用"错误,然后"准备失败-2147483648"错误

预览器的构造函数看起来像

   private SurfaceHolder holder_;
   private MediaRecorder r_;
   public CameraPreview(Context context, AttributeSet attrs) {
       super(context, attrs);
       holder_ = getHolder();
       holder_.addCallback(this);
       holder_.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
       r_ = new MediaRecorder();
       r_.setAudioSource(MediaRecorder.AudioSource.MIC);
       r_.setVideoSource(MediaRecorder.VideoSource.CAMERA);
       r_.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
       r_.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
       r_.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
    }    
Run Code Online (Sandbox Code Playgroud)

和我的

surfaceCreated()
Run Code Online (Sandbox Code Playgroud)

方法看起来像

    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        r_.setPreviewDisplay(holder_.getSurface());
        r_.setOutputFile("/sdcard/test.mpg");
        if (r_ != null){
            try{
                r_.prepare();
                r_.start();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
     }
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

谢谢,克里斯

video android

1
推荐指数
1
解决办法
1989
查看次数

修剪java中的字符串,删除空格

<%=CMSStringUtility.toTitleCase(attrValues.getDisplayLabel())%>

这将返回一个字符串,其中包含我需要删除的前导空白字符.我相信这是jsp文件中的JAVA.我尝试了以下方法:

<%=CMSStringUtility.toTitleCase(attrValues.getDisplayLabel()).trim()%>

<%=CMSStringUtility.toTitleCase(attrValues.getDisplayLabel().trim())%>

我是JSP新手,有什么想法吗?

java jsp trim

1
推荐指数
1
解决办法
4975
查看次数

PreparedStatement.execute() 在 Spring 单元测试中挂起

我在 Spring MVC 应用程序中进行单元测试时遇到了一些问题。坦率地说,由于我缺乏从头开始编写测试套件的经验,因此我很可能错误地设计了单元测试。

我目前设计的方式是,例如,为了测试用户服务,测试套件使用原始 SQL 语句来验证数据是否正确插入/检索/更新。我遇到的问题是,执行第一个准备好的语句后,后续语句将挂在该execute()方法上。测试结果最终为“超出锁定等待超时;尝试重新启动事务”

根据我在网上阅读的内容,这可能是事务管理问题,并且有人没有释放锁,但我不确定如何最好地做到这一点,甚至不知道在哪里做到这一点。

下面是一些相关代码,如果需要更多代码,请告诉我。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/applicationContext-base.xml", "/application-security.xml"})
@TransactionConfiguration(transactionManager="txManager")
@Transactional
public class TestUserService {

    @Autowired
    UsersService userService;

    @Autowired
    DataSource dataSource;

    Connection connection;

    @Before
    public void setup() throws Exception{
        connection = dataSource.getConnection();
    }

    @Test
    public void testCreateUser() throws Exception{

        Collection<GrantedAuthorityImpl> auths = new ArrayList<GrantedAuthorityImpl>();
        auths.add(new GrantedAuthorityImpl(SecurityConstants.ROLE_USER));


        User user = new User("testUser", "testpassword", true, true, true, true, auths, "salt");

        User tmp = userService.createUser(user);


        PreparedStatement ps = connection.prepareStatement("select id, username, password, created, enabled, salt from users …
Run Code Online (Sandbox Code Playgroud)

unit-testing jdbc spring-mvc

1
推荐指数
1
解决办法
1486
查看次数

从字节数组转换为short产生错误的负值

自从我在位/字节级别完成操作已经有一段时间了,所以如果这很简单,请原谅我.

我通过嵌入式设备在Java应用程序中通过TCP套接字接收数据.数据是小端(最不重要的字节优先),我正在尝试short从数据数组中获取值.为此,我使用以下代码:

byte[] valBytes = {data[0], data[1]};
short val = EndianArrayUtils.getShortFromLittleEndianRange(valBytes);
Run Code Online (Sandbox Code Playgroud)

这适用于正数,但当short应该为-1时,我得到-2而不是.产生-2的数据是:

byte[] valBytes = {(byte)0xff, (byte)0xff};
short val = EndianArrayUtils.getShortFromLittleEndianRange(valBytes);
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?两个补码中的-1应该是11111111 11111111正确的吗?

编辑

我完全忘记了我是那个真正写过的人EndianArrayUtils.该getShortFromLittleEndianRange方法的代码是

public static short getShortFromLittleEndianRange(byte[] range){
        return (short)((short)(range[1] >> 8) + (short)(range[0]));
    }
Run Code Online (Sandbox Code Playgroud)

显然,这对负数运算有什么不对.

java endianness

0
推荐指数
1
解决办法
8612
查看次数

用户帐户在登录时被锁定

我现在开始学习Spring Security,但遇到了麻烦。我编写了配置类,从数据库获取数据等,但在我的网页中,我在登录后看到消息“用户帐户已锁定”和 url 中的错误参数。

锁定图像

MessengerApplication.java

@SpringBootApplication
public class MessengerApplication {

    public static void main(String[] args) {
        SpringApplication.run(MessengerApplication.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

MainPageController.java

@RestController
public class MainPageController {

    @RequestMapping("/")
    public ModelAndView greeting() {
        Map<String, Object> model = new HashMap<>();

        model.put("data", "world");

        return new ModelAndView("main_page", model);
    }

}
Run Code Online (Sandbox Code Playgroud)

安全配置.java

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserServiceImpl userService;

    @Override
    protected void configure(AuthenticationManagerBuilder auth)
            throws Exception {
        auth.authenticationProvider(authenticationProvider());
    }

    @Bean
    public DaoAuthenticationProvider authenticationProvider() {
        DaoAuthenticationProvider authProvider
                = new DaoAuthenticationProvider();
        authProvider.setUserDetailsService(userService);
        authProvider.setPasswordEncoder(encoder());
        return …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-security spring-boot

0
推荐指数
1
解决办法
4367
查看次数