小编CAM*_*BAP的帖子

android中的视频质量?

我正在使用媒体录制器类录制视频,我使用以下属性初始化录制器,

    recorder = new MediaRecorder();
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
Run Code Online (Sandbox Code Playgroud)

但是视频的质量与我在本机Android相机上拍摄的视频不一样,我使用媒体记录器拍摄的视频与原生视频相比质量较差,如何提高视频质量.

如果有人知道我帮助我.谢谢

android android-layout android-mediarecorder

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

Javap Asciz Strings

javap关于常量池命令生成的输出的小问题.当javap打印池它定义字符串常量为Asciz字符串,我的理解方式null终止ASCII:

const #20 = Asciz       hello world;
Run Code Online (Sandbox Code Playgroud)

这意味着字符串的长度是未知的,并且要解析您将读取每个字节,直到您遇到null.

但是,常量池字符串常量的长度由字符串前面的两个字节定义,并且没有null附加.(常量池规范).

是否javap将字符串定义为Asciz错误或Asciz具有我不知道的其他含义?

java bytecode class javap

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

缓存查询集

我正在开发一个需要过滤大量记录的应用程序。我一直在阅读有关缓存QuerySets和相关内容的资料,并找到了一些不错的资料。

qs = MyModel.objects.filter(Q(<initial_filter_to_narrow_down_size>))
Run Code Online (Sandbox Code Playgroud)

此后,我希望将此qs放入缓存中以备后用。我想应用所有其他过滤器,而无需访问数据库。就像是

cache.set('qs', qs)
Run Code Online (Sandbox Code Playgroud)

但是我会做qs = qs.filter(q_object)什么呢?缓存会被修改吗?我不要 我想qs保持不变,直到更新它。在这种情况下我该怎么办?

python django

5
推荐指数
0
解决办法
295
查看次数

container_of宏的定义

而不是将container_of定义为:

#define container_of(ptr, type, member) ({ \
            const typeof( ((type *)0)->member ) *__mptr = (ptr);
            (type *)( (char *)__mptr - offsetof(type,member) );})
Run Code Online (Sandbox Code Playgroud)

为什么这不会简单地工作:

#define container_of(ptr, type, member) ({ \
                    (type *)( (char *)(ptr) - offsetof(type,member) );})
Run Code Online (Sandbox Code Playgroud)

定义中第一行的用法是什么?

macros linux-kernel c-preprocessor

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

黑莓 - 可能隐藏视频字段?

我想写一个像手电筒一样的应用程序(在相机LED的帮助下).

Player player = javax.microedition.media.Manager.createPlayer("capture://video?encoding=video/3gpp");

player.realize();

VideoControl videoControl = (VideoControl) player.getControl("VideoControl");
if(videoControl != null)
{
    videoField = (Field)videoControl.initDisplayMode( VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field" );
    try
    {
        videoControl.setDisplaySize(1, 1);
    }
    catch(Exception e)
    {
        PGLogUtil.logString(e.toString());
    }
    videoControl.setVisible(true);
    add(videoField);

    FlashControl flashControl = (FlashControl)
            player.getControl("javax.microedition.amms.control.camera.FlashControl");
    setFlashlight(true);
}
player.start();
Run Code Online (Sandbox Code Playgroud)

上面的代码工作得很好,但我想隐藏videoField.当我移除add(videoField)或使用时videoControl.setVisible(false),手电筒不起作用.有人可以解释原因吗?

如何用隐藏的灯打开灯videoField

camera blackberry java-me flashlight

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

Thymeleaf | TemplateEngine.process是否是线程安全的操作?

我使用thymeleaf模板引擎来构建对SOAP服务的请求.执行发送的类看起来像这样:

import java.io.StringReader;
import java.util.*;
import javax.xml.transform.stream.*;

import org.springframework.ws.client.core.WebServiceTemplate;

import org.thymeleaf.*;
import org.thymeleaf.context.*;
import org.thymeleaf.templateresolver.*;

public class SomeService 
{
    private final TemplateEngine templateEngine;
    private final WebServiceTemplate webServiceTemplate;

    public RetrieveServiceThymeleafBased() {
        webServiceTemplate = new WebServiceTemplate();
        webServiceTemplate.setDefaultUri("http://some.path/to/soap/service");

        ITemplateResolver templateResolver = new ClassLoaderTemplateResolver();
        templateEngine = new TemplateEngine();
        templateEngine.addTemplateResolver(templateResolver);
    }

    public void sendMessage(String orderNumber) {
        Context params = new Context();
        params.setVariable("CreateDateTime", new Date());
        params.setVariable("GUID", UUID.randomUUID());
        String xmlContent = templateEngine.process("template.xml", params);

        StreamSource source = new StreamSource(new StringReader(xmlContent));
        StreamResult result = new StreamResult(System.out);
        webServiceTemplate.sendSourceAndReceiveToResult(source, …
Run Code Online (Sandbox Code Playgroud)

java multithreading thread-safety thymeleaf

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

在UIAlertView上同时点击2个按钮会冻结应用程序

我有这样的错误:如果我同时挖掘上的两个按钮UIAlertViewUIAlertView代表将不会被调用,并且整个屏幕冻结(没有什么是可点击,即使警报视图被罚下场).

有没有人见过这个bug?有没有办法限制UIAlertView只有一个按钮?

- (IBAction)logoutAction:(id)sender {
        self.logoutAlertView = [[UIAlertView alloc] initWithTitle:@"Logout"
                                                              message:@"Are you sure you want to logout?"
                                                             delegate:self
                                                    cancelButtonTitle:@"No"
                                                    otherButtonTitles:@"Yes", nil];
        [self.logoutAlertView show];
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if ([alertView isEqual:self.logoutAlertView]) {
        if (buttonIndex == 0) {
            NSLog(@"cancelled logout");
        } else {
            NSLog(@"user will logout");
            [self performLogout];
        }
        self.logoutAlertView.delegate = nil;
    }
}
Run Code Online (Sandbox Code Playgroud)

freeze uialertview ios

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

通过Objective-C中的CoreTelephony.framework私有API获取MCC和MNC

我需要获得MCCMNC当前的国家(而不是从类CTCarrier的SIM本国)代码.

我使用私有API CoreTelephony.framework.在我的设备上一切正常.但是在CellMonitorCallback我们获得的方法中的其他设备上cells = NULL.

可能有人可以帮我做错了吗?


#import "AMCoreTelephone.h"
#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>

struct CTResult
{
    int flag;
    int a;
};

extern CFStringRef const kCTCellMonitorCellType;
extern CFStringRef const kCTCellMonitorCellTypeServing;
extern CFStringRef const kCTCellMonitorCellTypeNeighbor;
extern CFStringRef const kCTCellMonitorCellId;
extern CFStringRef const kCTCellMonitorLAC;
extern CFStringRef const kCTCellMonitorMCC;
extern CFStringRef const kCTCellMonitorMNC;
extern CFStringRef const kCTCellMonitorUpdateNotification;

id _CTServerConnectionCreate(CFAllocatorRef, void*, int*);
void _CTServerConnectionAddToRunLoop(id, CFRunLoopRef, CFStringRef);
mach_port_t _CTServerConnectionGetPort(id);

#ifdef __LP64__
void _CTServerConnectionRegisterCallService(id);
void _CTServerConnectionUnregisterCallService(id,int*);
void _CTServerConnectionRegisterForNotification(id, CFStringRef); …
Run Code Online (Sandbox Code Playgroud)

objective-c iphone-privateapi ios core-telephony

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

安卓 GLSL 测试

最近我在特定设备上遇到片段着色器编译错误(在 %90 编译成功通过)

  1. 测试着色器的一般方法是什么?
  2. 我有什么服务可以帮助在不同的 android 设备上测试着色器编译吗?

android glsl

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

ld:使用比ObjC Framework以前的文件(未知的ABI版本YYY)更早的Swift语言(XX)版本编译的SDK.framework

介绍

SDK.framework需要将其作为封闭源软件进行分发。为了涵盖Objective-C和快速项目,我决定将其写在Objective-C上

在本地环境中,我有两个项目:

  • SDK(框架源代码)
  • DemoApp(与SDK.framework链接的应用程序)

*这些项目在单独的工作区中

问题

当我SDK.framework在本地编译时,它可以完美工作。

一旦我从CI中获得一个(它具有不同的iOS SDK版本)并尝试与之链接,DemoApp我将收到此错误:

ld:使用比以前的文件更早的Swift语言(4.0)版本编译的SDK.framework(未知的ABI版本0x06)

问题

  1. 因为我的SDK为100%Objective-C框架,所以我不知道为什么它声称使用Swift版本
  2. 我的SDK依赖于其他框架,其中一个是SocketIO-Client-Swift。据我所知,这不应该以上学历,相关错误,因为我编译SocketIO-Client-Swift使用DemoApp,因此它具有相同的快捷版本DemoApp的应用程序

我做了什么

  1. 随着otool -l SDK.framework我检查了所有的元信息,也没有对任何快捷参考
  2. 我曾尝试将其分发为静态库,但在这种情况下,支持Carthage依赖关系管理器将出现问题

xcode linker objective-c ios swift

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