小编Eug*_*eev的帖子

将SurfaceTexture渲染到Unity Texture2D

我较早提出了类似的问题,但是并没有很好地阐明它们,现在我想提一个建议,我在代码中做错了什么。

所以我想做的是将SurfaceTexture从Android插件渲染到Unity Texture2D。

统一代码:

public class AndroidHandler : MonoBehaviour {

    [SerializeField]
    private RawImage _rawImage;

    private Texture2D _inputTexture;
    private AndroidJavaObject androidStreamerObj;
    private System.IntPtr _nativePtr;

    void Start () {

        _rawImage.material.SetTextureScale("_MainTex", new Vector2(-1, -1));
        InitAndroidStreamerObject();
    }

    private void InitAndroidStreamerObject()
    {
        androidStreamerObj = new AndroidJavaObject("makeitbetter.figazzz.com.vitamiousing7.AndroidStreamer");

        Int32 texPtr = androidStreamerObj.Call <Int32> ("GetTexturePtr");
        Debug.Log("texture pointer? " + texPtr);
        Texture2D nativeTexture = Texture2D.CreateExternalTexture (128, 128, TextureFormat.RGBA32 , false, false, new System.IntPtr(texPtr));

        _rawImage.texture = nativeTexture;
    }

    public void StartStream()
    {
        string streamLink = "rtmp://live.hkstv.hk.lxdns.com/live/hks"; //"rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"; //"rtmp://live.hkstv.hk.lxdns.com/live/hks";
        androidStreamerObj.Call("LaunchStream", streamLink); …
Run Code Online (Sandbox Code Playgroud)

c# android opengl-es texture2d unity-game-engine

6
推荐指数
2
解决办法
2674
查看次数

将UnsafeMutablePointer转换为UnsafePointer

我在Swift项目中使用的是C库,其中一个函数需要a UnsafePointer<UnsafePointer<UInt8>?>!作为输入输出参数,我应该在其中传递数据。但是问题是我有此数据UnsafeMutablePointer<UnsafeMutablePointer<UInt8>?>!类型。

我的问题是-什么是转换的最有效和最简单的方法UnsafeMutablePointer,以UnsafePointer在斯威夫特3?这些指针在“书面上”并没有太大的区别,与技术环境也没有太大区别,但是我找不到关于该主题的有价值的信息。

任何帮助,将不胜感激。谢谢

pointers unsafe-pointers swift swift3 unsafemutablepointer

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

如何设置 AVAssetWriterInput 的预期帧率

我有一个应用程序,它以不同的方式对视频进行编码并将其保存到照片库 - 它可以剪切特定的时间范围,添加图片、文本等。一切都运行良好,直到我尝试对视频进行 120+ fps 的编码。问题是视频似乎是慢动作,而我根本不追求这个目标。

在这里,我发现了有关AVAssetWritterInput名为 的属性AVVideoExpectedSourceFrameRateKey,但问题是当我尝试将此参数应用于我的 时AVAssetWritterInput,我收到此错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVAssetWriterInput initWithMediaType:outputSettings:sourceFormatHint:] Output settings dictionary contains one or more invalid keys: ExpectedFrameRate'

这是我的AVAssetWriterInput初始化,一点也不花哨:

let input = AVAssetWriterInput(mediaType: AVMediaTypeVideo, outputSettings: [AVVideoCodecKey: AVVideoCodecJPEG,
                                                                                         AVVideoHeightKey: correctedContentSize.height,
                                                                                         AVVideoWidthKey: correctedContentSize.width,
                                                                                         AVVideoExpectedSourceFrameRateKey: 60])
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。谢谢。

video frame-rate ios avassetwriter avassetwriterinput

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

无法在android中启动cocos2dx ios项目

我有一个在Xcode中创建的Cocos2dx项目.在Xcode中,它运行良好,但现在我需要在Android设备上使其在Eclipse中运行.

顺便说一下,Eclipse完全使用Xcode,我已经创建了测试项目,做了几个更改,一切都很好.但是当我试图编译我的ios项目时,我遇到了几个错误.这是日志:

make.exe:*没有规则来制作目标 jni/../../Classes/HelloWorldScene.cpp', needed by obj/local/armeabi/objs/cocos2dcpp_shared/__/__/Classes/HelloWorldScene.o'.停止.make.exe:*等待未完成的工作......

非常奇怪的错误,因为我没有任何HelloWorldScene.cpp文件!但并非所有问题都存在:

jni /../../ Classes/GameManager.h:11:10:致命错误:找不到'cocosbuilder/CCBReader.h'文件

还有一个:

make.exe:***[obj/local/armeabi/objs/cocos2dcpp_shared// /Classes/AppDelegate.o]错误1

伙计们,请帮帮我.我试图改变Android.mk文件,没有成功.也许我做错了什么?

c++ eclipse xcode android ios

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

适用于 App Store 中新发布的最小部署目标

在此链接中,我们可以找到 Apple 的声明,内容如下:

您现在可以提交利用下一版本 iOS、watchOS 和 tvOS 中强大新功能的应用程序。使用 Xcode 10 GM 种子构建您的应用程序,使用最新版本的 iOS 12、watchOS 5 和 tvOS 12 进行测试,然后提交以供审核。从 2019 年 3 月开始,所有适用于 iPhone 的新应用和应用更新(包括通用应用)都需要使用 iOS 12 SDK 构建并支持 iPhone XS Max。Apple Watch 的所有新应用程序和应用程序更新都需要使用 watchOS 5 SDK 构建并支持 Apple Watch Series 4。

我知道现在我必须将 Xcode 更新到 10.2,没关系。但我不清楚的是——新发布的最小部署目标是什么?现在我有一个应用程序,其部署目标是 iOS 9.0。我是否符合 Apple 的最新要求?我是否应该担心我的部署目标?

在网上搜索时,我发现有人提出部署目标是"latest-ios-version - 2.0 = deployment-target",但我不知道这种说法是否合法。

任何见解将不胜感激。提前致谢!

xcode app-store deployment-target ios

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

使用GCD实现线程池

我有一个包含可以并行计算任务的大循环。为此,我决定使用 GCD 编写一个简单的并发线程池,因为我正在 iOS 上工作。

我的线程池看起来相当简单。我将仅附加.m文件,这足以理解我的想法:

#import "iOSThreadPool.h"

@interface iOSThreadPool()
{
    int                                     _timeout;
    int                                     _currentThreadId;
    NSMutableArray<dispatch_queue_t>        *_pool;
    NSMutableArray<dispatch_semaphore_t>    *_semaphores;
    dispatch_group_t                        _group;
}

@end

@implementation iOSThreadPool

- (instancetype)initWithSize:(int)threadsCount tasksCount:(int)tasksCount
{
    self = [super init];
    if (self) {
        _timeout = 2.0;
        _currentThreadId = 0;
        _pool = [NSMutableArray new];
        _semaphores = [NSMutableArray new];
        for (int i = 0; i < threadsCount; i++) {
            dispatch_queue_attr_t attr = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_CONCURRENT, QOS_CLASS_BACKGROUND, 0);
            dispatch_queue_t queue = dispatch_queue_create([NSString stringWithFormat:@"com.workerQueue_%d", i].UTF8String, attr);
            [_pool addObject:queue];

            dispatch_semaphore_t sema = …
Run Code Online (Sandbox Code Playgroud)

concurrency multithreading grand-central-dispatch threadpool ios

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

CPU 限制在发布模式下的 Xcode 中不再起作用

我有一个对性能敏感的 XCode C++ 项目,并且我正在使用 CPU 节流技巧。本质上我添加了这段代码:

// function to occupy a thread for an infinite amount of time
void coreEngager() {
    while (true) {}
}

// call it in the background thread
std::thread t1(coreEngager);

// call it once the work is done
t1.detach();
Run Code Online (Sandbox Code Playgroud)

这个小技巧可以将计算速度提高约 50%,这对我来说非常重要。但我最近发现了一个问题 - 如果我尝试在发布模式下运行该项目,此代码会崩溃。函数中发生崩溃coreEngager。我以前没有这个问题,现在在 Linux 和 Windows 上也没有这个问题。您能否告知发生了什么变化或如何使 CPU 限制在 MacOS 上发挥作用?

c++ macos cpu xcode throttling

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