有一个库
https://github.com/Yalantis/uCrop
有 2 个模块Sample-ucrop所有逻辑都位于其中
问题是 - 当我将ucrop模块复制到我的项目时也添加了这个
dependencies {
...
implementation project(':ucrop')
....
}
Run Code Online (Sandbox Code Playgroud)
和这个
settings.gradle include ':ucrop', ':app'
据我所知,我只需要添加这一行即可将新模块包含到项目中
然后我尝试编译应用程序并收到这样的错误
解决此 BuildableArtifact 只能在任务执行期间完成。
模块“ucrop”是一个没有构建变体的 Android 项目,无法构建。请修复 build.gradle 文件中的模块配置并再次同步项目。
我的项目不想包含新模块的原因是什么?
请随意询问
谢谢
实际上我正在使用 OpenGL,我想将我所有的纹理都放在 MP4 中以压缩它们。
然后我需要从我的 Android 上的 MP4 中获取它
我需要以某种方式解码 MP4 并根据请求逐帧获取。
我找到了这个 MediaCodec
https://developer.android.com/reference/android/media/MediaCodec
和这个 MediaMetadataRetriever
https://developer.android.com/reference/android/media/MediaMetadataRetriever
但是我没有看到如何逐帧请求的方法......
如果有人用过MP4,请给我一个去哪里的方法。
PS我正在使用本机方式(JNI),所以怎么做都无所谓..Java或本机,但我需要找到方法。
编辑1
我制作了某种电影(只有一个 3d 模型),所以我每 32 毫秒更改一次几何和纹理。因此,在我看来,将 mp4 用于 tex 似乎是合理的,因为每个新帧(32 毫秒)都与原始帧非常相似......
现在我为一个模型使用 400 帧。对于几何,我使用 .mtr,对于 tex,我使用 .pkm(因为它针对 android 进行了优化),所以我有大约 350 个 .mtr 文件(因为有些文件包含子索引)和 400 个 .pkm 文件......
这就是为什么我要为 tex 使用 mp4 的原因。因为一个 mp4 比 400 .pkm 小得多
编辑2
请看一下 Edit1
实际上,我需要知道的只是可以MP4按帧读取的Android API ?也许某种getNextFrame()方法?
像这样的东西
MP4Player player = new MP4Player(PATH_TO_MY_MP4_FILE);
void readMP4(){
Bitmap b;
while(player.hasNext()){ …Run Code Online (Sandbox Code Playgroud) 我需要使用资源来支持不同的颜色BuildVars,所以我有Color.kt定义颜色的文件,问题是如果我从colors.xml这样的资源中获取颜色
val MyWhiteColor: Color = Color(R.color.my_white_color)
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
Text(
text = ...,
style = TextStyle(
color = MyWhiteColor
)
)
Run Code Online (Sandbox Code Playgroud)
但是,如果我将实现更改为,我会得到蓝色而不是白色
val MyWhiteColor: Color = Color(android.graphics.Color.parseColor("#FFFFFF"))
Run Code Online (Sandbox Code Playgroud)
它按预期工作,我得到白色。
我缺少什么?colors.xml为什么当我从颜色中获取值时会转换为蓝色?
android-jetpack android-jetpack-compose android-compose-textfield
我正在尝试使用Android处理我的Nexus 5x Camera2 APIs并使用googlesamples android-Camera2Basic
我的问题是JPEG图像的质量太低,而且它的尺寸远小于我用手机相机应用拍摄的常规图像.
根据谷歌文档JPEG_QUALITY,CaptureRequest和CaptureResult中都应该有一个键:
JPEG_QUALITY
在API级别21中添加
密钥JPEG_QUALITY
最终JPEG图像的压缩质量.
85-95是典型的使用范围.
有效值范围:
1-100; 越大越高质量
此密钥适用于所有设备.
但是,当我要求可用的密钥时,JPEG_QUALITY密钥不可用,所以我不知道如何知道我目前使用的JPEG压缩质量是什么以及如何更改它.
我在里面做的代码:
CameraCaptureSession.CaptureCallback CaptureCallback
= new CameraCaptureSession.CaptureCallback() {
@Override
public void onCaptureCompleted(@NonNull CameraCaptureSession session,
@NonNull CaptureRequest request,
@NonNull TotalCaptureResult result) {
//_TEST_DEBUG
List<CaptureRequest.Key<?>> requestKeys = request.getKeys();
List<CaptureResult.Key<?>> resultKeys = result.getKeys();
Run Code Online (Sandbox Code Playgroud)
requestKeys&resultKeys有许多键,包括JPEG_ORIENTATION但不是JPEG_QUALITY键.
知道我做错了什么吗?为什么我找不到如何改变JPEG压缩质量?
谢了,兄弟们
我使用Swift 3并使用相机AVFoundation
谁知道有没有办法知道光的容量?
我知道其中一种方法是使用环境光传感器,但它不鼓励,最终应用程序不允许在市场上
我发现问题非常接近我需要的问题
那家伙解释说我可以用 ImageIO framework, read the metadata that's coming in with each frame of the video feed
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection {
CFDictionaryRef metadataDict = CMCopyDictionaryOfAttachments(NULL, sampleBuffer, kCMAttachmentMode_ShouldPropagate);
NSDictionary *metadata = [[NSMutableDictionary alloc] initWithDictionary:(__bridge NSDictionary*)metadataDict];
CFRelease(metadataDict);
NSDictionary *exifMetadata = [[metadata objectForKey:(NSString *)kCGImagePropertyExifDictionary] mutableCopy];
float brightnessValue = [[exifMetadata objectForKey:(NSString *)kCGImagePropertyExifBrightnessValue] floatValue];
}
Run Code Online (Sandbox Code Playgroud)
但我是iOS的新手,不知道如何在Swift中转换这段代码
提前致谢!
我是斯威夫特的新秀,有这样的误解
如何创建调度队列有什么区别
样品1
let backgroundQueue = DispatchQueue(label: "com.app.queue",
qos: .background,
target: nil)
backgroundQueue.async {
print("Dispatched to background queue")
}
Run Code Online (Sandbox Code Playgroud)
样本2
let backgroundQueue = DispatchQueue.global()
backgroundQueue.async {
print("Dispatched to background queue")
}
Run Code Online (Sandbox Code Playgroud)
据我所知,这两种方法都是一样的
或者例如这种方法
DispatchQueue.global(qos: .userInitiated).async {
print("user initiated task")
}
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
我正在使用AMediaCodec和AMediaExtractor,在所有设备上一切正常(我希望:),但是如果我在 Android Q 上检查相同的代码(在我的情况下是 Pixel 2XL),我会得到这样的错误AMEDIA_ERROR_UNSUPPORTED。
我做什么
bool NativeCodec::createStreamingMediaPlayer(const std::string &filename)
{
AMediaExtractor *ex = AMediaExtractor_new();
media_status_t err =
AMediaExtractor_setDataSource(ex, filename.c_str());; <-- Here media status I got AMEDIA_ERROR_UNSUPPORTED
if (err != AMEDIA_OK)
{
__android_log_print(ANDROID_LOG_ERROR, "ERROR", "ERROR ::: %s", std::to_string(err).c_str());
return false;
}
.....
}
Run Code Online (Sandbox Code Playgroud)
也许这与 Android Q 中引入的隐私有关,但我没有找到任何有关它的信息......
如何检查这个问题呢?
media android mediaextractor android-mediacodec android-10.0
我使用 WinForms 并且有一个选项可以创建TableLayoutPanel.
例如:我需要将我的窗口分为顶部和底部两部分,我希望顶部占据窗口的 70%,底部占据窗口的 30%...
现在,我正在使用WPF并根据此
https://www.codeproject.com/Articles/30904/WPF-Layouts-A-Visual-Quick-Start
有WPF很多不同的布局,但我没有找到任何与双海相同的布局TableLayoutPanel- 我可以设置我需要多少行以及每行应该占用多少窗口。
怎么做?
我对dimen.xml我在该应用程序上使用的所有内容都有自己的看法。现在有了jetpack compose,我也想在这里使用这些定义
有一段文字:
...
Text(
text = stringResource(id = R.string.brandname),
fontSize = 12.sp
)
...
Run Code Online (Sandbox Code Playgroud)
我可以从资源中获取文本,但是,我无法12.sp从中获取价值dimen.xml,我正在尝试这样做
...
Text(
text = stringResource(id = R.string.brandname),
fontSize = dimensionResource(id = R.dimen.brandname_size)
)
...
Run Code Online (Sandbox Code Playgroud)
fontSize我在行类型不匹配、必需TextUnit、已找到中遇到错误Dp
我在这里缺少什么?
android-jetpack android-jetpack-compose android-compose-textfield
我有这样的实现
Surface(
modifier = Modifier.background(Color.Transparent),
shape = RoundedCornerShape(corner = CornerSize(2.dp)),
border = BorderStroke(width = 1.dp, color = showpageColorAgvotBoarder)
) {
Text(
modifier = Modifier.padding(2.dp),
text = item,
style = ShowpageAgvotStyle
)
}
Run Code Online (Sandbox Code Playgroud)
我得到的结果是
就像整个背景是黑色的一样,然而,表面背景是白色的......
我只需要一个边框,表面的背景应该是透明的(在这种情况下黑色,因为整个背景是黑色的)
我究竟做错了什么?
android android-jetpack android-jetpack-compose android-jetpack-compose-material3
android ×5
swift ×2
android-10.0 ×1
android-jetpack-compose-material3 ×1
c# ×1
ios ×1
media ×1
mp4 ×1
opengl-es ×1
wpf ×1