我正在尝试为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)
有什么想法吗?
谢谢,克里斯
<%=CMSStringUtility.toTitleCase(attrValues.getDisplayLabel())%>
这将返回一个字符串,其中包含我需要删除的前导空白字符.我相信这是jsp文件中的JAVA.我尝试了以下方法:
<%=CMSStringUtility.toTitleCase(attrValues.getDisplayLabel()).trim()%>
和
<%=CMSStringUtility.toTitleCase(attrValues.getDisplayLabel().trim())%>
我是JSP新手,有什么想法吗?
我在 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) 自从我在位/字节级别完成操作已经有一段时间了,所以如果这很简单,请原谅我.
我通过嵌入式设备在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)
显然,这对负数运算有什么不对.
我现在开始学习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 ×3
spring-mvc ×2
android ×1
endianness ×1
jdbc ×1
jsp ×1
spring ×1
spring-boot ×1
trim ×1
unit-testing ×1
video ×1