小编Ser*_*gey的帖子

使用哪个标志可以提高 sws_scale 的质量?

/* values for the flags, the stuff on the command line is different */
#define SWS_FAST_BILINEAR     1
#define SWS_BILINEAR          2
#define SWS_BICUBIC           4
#define SWS_X                 8
#define SWS_POINT          0x10
#define SWS_AREA           0x20
#define SWS_BICUBLIN       0x40
#define SWS_GAUSS          0x80
#define SWS_SINC          0x100
#define SWS_LANCZOS       0x200
#define SWS_SPLINE        0x400
Run Code Online (Sandbox Code Playgroud)

哪一种的图像质量更好?有哪些差异?都是有损的吗?我正在尝试将 RGB24 转换为 YUV420P。

ffmpeg

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

我在哪里可以看到Android Studio中的打印堆栈跟踪?

我是Android Studio和Java编程的新手.我有以下草案代码:

    try {
        InetAddress serverAddr = InetAddress.getByName("whatever");
        Socket socket = new Socket(serverAddr, 5555);
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

Socket抛出IOException类型的异常,因此将调用e.printStackTrace().在调试器下运行时,我在Android Studio中找不到打印此堆栈跟踪的位置/窗口.我想这必须在Android Studio的控制台窗口中打印,但那里没有打印.Android Studio 1.3.2,默认设置.那么这个堆栈轨迹在哪里打印出来?

提前致谢!

java android android-studio

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

SwiftUI 中的文本编辑器被键盘遮挡

我希望我的文本编辑器避免使用屏幕键盘,这样我就可以输入一些内容并看到它:)我想我可以以 iOS 15 为目标。我相信我在互联网上尝试了许多处理键盘事件的解决方案并尝试调整一些填充/偏移等,但它们都不适合我。看起来像文本字段根本没有这个问题(至少在 iOS 15 中),因为即使键盘出现在屏幕上,它们也保持可见(容器视图根据需要滚动)。我不知道为什么这个基本功能不是免费提供的... UIKit/UITextView 似乎无需开发人员额外的照顾即可工作。

那么,我需要做什么才能在下面的示例中进入第三个文本编辑器(在“注释”部分中)并立即开始输入,而无需手动滚动视图以使编辑器对我可见?

import SwiftUI

struct ContentView: View {
    @State private var text: String = ""
    
    init() {
        UITextView.appearance().backgroundColor = .clear
    }
    
    var body: some View {
        Form {
            TextEditor(text: $text)
                .frame(height: 300)
                .background(.yellow)
            TextEditor(text: $text)
                .frame(height: 300)
                .background(.mint)
            Section("Notes") {
                TextEditor(text: $text)
                    .frame(height: 300)
                    .background(.teal)
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

ios swiftui

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

@Environment Dismiss 的存在会导致列表在滚动时不断重建其内容

我需要构建一个 TextFields 列表,其中每个字段都与焦点 id 相关联,以便我可以在接收焦点时自动滚动到这样的文本字段。实际上,真正的应用程序有点复杂,其中还包括文本编辑器和许多其他控件。

现在,我发现如果我的视图定义了@Environment(\.dismiss) private var dismiss,那么列表在手动滚动期间会一直重建。如果我只是注释掉该行,@Environment(\.dismiss) private var dismiss那么当我滚动时不会重建列表。显然,我希望能够在用户单击某个按钮时关闭我的视图。在真正的应用程序中,情况更糟:在滚动期间,一切都滞后,我无法平滑滚动。我的清单并不大,只有 10 件左右。

这是一个演示示例:

struct ContentView: View {
    var body: some View {
        NavigationView {
            NavigationLink {
                DismissListView()
            } label: {
                Text("Go to see the list")
            }
        }
    }
}

struct DismissListView: View {
    @Environment(\.dismiss) private var dismiss
    
    enum Field: Hashable {
        case line(Int)
    }
    
    @FocusState private var focus: Field?
    @State private var text: String = ""
    
    var body: some View {
        ScrollViewReader { proxy …
Run Code Online (Sandbox Code Playgroud)

ios swiftui

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

带有 @FocusState 和焦点更改处理的 SwiftUI 列表

我想使用List,@FocusState来跟踪焦点,并.onChanged(of: focus)确保当前聚焦的字段通过 可见ScrollViewReader。问题是:当所有内容都设置在一起时,List滚动过程中会不断重建,从而使滚动不那么平滑。

我发现当List我附加时会在滚动时重建.onChanged(of: focus)List如果我替换为,问题就消失了ScrollView,但我喜欢 的外观List,我需要部分支持,并且我需要编辑功能(例如删除、移动项目),所以我需要坚持查看List

我用它Self._printChanges()来看看是什么让主体在滚动时重建自身,输出如下:

ContentView: _focus changed.
ContentView: _focus changed.
ContentView: _focus changed.
ContentView: _focus changed.
...
Run Code Online (Sandbox Code Playgroud)

附在 上的封条上没有打印任何内容.onChanged(of: focus)。下面是简化的示例,在此示例中滚动的平滑度不是问题,但是,一旦列表内容或多或少复杂,平滑滚动就会消失,这实际上是由于.onChanged(of: focus):(

问题:是否有机会监听焦点变化而不引起列表在滚动时重建自身?

struct ContentView: View {
    enum Field: Hashable {
        case fieldId(Int)
    }
    
    @FocusState var focus: Field?
    @State var text: String = ""
    
    var body: some View { …
Run Code Online (Sandbox Code Playgroud)

swiftui

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

是否可以使用 ffmpeg 无延迟地解码 MPEG4 帧?

我使用ffmpeg 的 MPEG4 解码器。解码器具有CODEC_CAP_DELAY 等功能。这意味着解码器将为我提供延迟为 1 帧的解码帧。

我有一组来自 AVI 文件的 MPEG4 (I- & P-) 帧,并将这些帧提供给 ffmpeg 解码器。对于第一个 I 帧解码器,我什么也没给,但成功解码了帧。我可以强制解码器通过avcodec_decode_video2的第二次调用获取解码的帧并提供空值(刷新它),但是如果我为每一帧这样做,我会得到第一组图片的伪影(例如,第二个解码的 P 帧是灰色)。

如果我现在不强制 ffmpeg 解码器给我解码的帧,那么它可以完美地工作并且没有伪影。

问题:但是是否有可能在不给解码器下一帧且没有伪影的情况下获得解码帧?

如何为每一帧实现解码的小例子:

        // decode
        int got_frame = 0;
        int err = 0;
        int tries = 5;
        do
        {
            err = avcodec_decode_video2(m_CodecContext, m_Frame, &got_frame, &m_Packet);
            /* some codecs, such as MPEG, transmit the I and P frame with a
            latency of one frame. You must do the following to have …
Run Code Online (Sandbox Code Playgroud)

ffmpeg decoder

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

检查函数是否被调用为 goroutine

有没有办法找出正在运行的函数是否被调用为 goroutine ?

我已经阅读了“go tour”并且我对用 golang 构建一个 websocket 服务器很感兴趣,所以我找到了这个教程https://tutorialedge.net/golang/go-websocket-tutorial/

现在我想知道教程中的 wsEndpoint 函数是否被调用为 goroutine(例如 go wsEndpoint(...))。

我试图阅读 http 包文档,但没有得到清晰的图片,只是猜测处理程序将被 goroutine 调用。真的吗?

go goroutine

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

标签 统计

swiftui ×3

ffmpeg ×2

ios ×2

android ×1

android-studio ×1

decoder ×1

go ×1

goroutine ×1

java ×1