小编Cje*_*en1的帖子

W/CameraBase:连接到摄像机时出错:在camera.open()调用时出现0

我正在写一个相机应用程序,每当我调用camera.open()应用程序崩溃然后我收到此错误:

W/CameraBase? An error occurred while connecting to camera: 0

这是我打开相机的方式:

public void getCameraInstance(){
    mCamera = null;

    try 
    {
        mCamera = Camera.open(); // attempt to get a Camera instance
    }

    catch (Exception e)
    {
        // Camera is not available (in use or does not exist)

    }
}
Run Code Online (Sandbox Code Playgroud)

更新:

如果您正在阅读本文,请注意这是原始相机API,不再适用最新版本的相机API(相机2).

从这一点开始,您应该使用camera2 api,因为它具有更强大的功能,并且还具有更好的图像处理流水线.

注意仅限于排除API 21(Lolipop),即不适用于Lolipop及以上.

android android-camera android-activity

17
推荐指数
4
解决办法
3万
查看次数

Camera2在一个捕获会话中拍摄多个图像

是否可以在一个'cameraDevice.createCaptureSession'中拍摄具有不同焦距的多个图像,我正在尝试进行一些手动自动对焦.

我知道我可以使用多个捕获会话并在捕获图片之前等待焦点移动但是可以在单个捕获会话中完成吗?

android

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

在Xamarin Studio中的Android项目上进行3D建模

我在Xamarin中有一个现有的解决方案,用于我正在开发的应用程序.但是我需要做一些3D渲染作为其中的一部分.

我看过MonoGame但是我看不到任何方法可以直接将它作为另一个活动导入,这样我就可以使用标准的Android API轻松切换到它.

是否有另一个更容易使用的库,因为我没有任何3D建模经验,除了乱搞Unity.

monogame xamarin

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

我可以在 Raspberry Pi 上运行 C# 应用程序吗?

我正在开发一个项目,这意味着我需要一个 Raspberry Pi;然而,我在 Python 或 Lua 方面的编程经验非常有限。

是否可以在Raspberry Pi上运行使用C#在VS2013中编译的程序?

c# raspberry-pi

5
推荐指数
2
解决办法
2万
查看次数

在大型数组上查找编辑距离的更有效方法

我有一个很大的单词数组(300k 个单词),我想找到每个单词之间的编辑距离,所以我只是迭代它并运行这个版本的 levenstein 算法:

unsigned int edit_distance(const std::string& s1, const std::string& s2)
{
    const std::size_t len1 = s1.size(), len2 = s2.size();
    std::vector<std::vector<unsigned int>> d(len1 + 1, std::vector<unsigned int>(len2 + 1));
d[0][0] = 0;
for (unsigned int i = 1; i <= len1; ++i) d[i][0] = i;
for (unsigned int i = 1; i <= len2; ++i) d[0][i] = i;

for (unsigned int i = 1; i <= len1; ++i)
    for (unsigned int j = 1; j <= len2; ++j)
        // …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

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

不一致的可访问性:属性类型 __ 的可访问性低于属性 ___

我正在创建一个数据库,我需要为与名称匹配的所有条目索引数据库。

这是它被使用的地方:

dDatabase.FindAll(findArea.Match);
Run Code Online (Sandbox Code Playgroud)

这是 findArea 类:

public class FindArea
{
    string m_Name;
    public FindArea(string name)
    {
        m_Name = name;
    }

    public Predicate<databaseEntry> Match
    {
        get { return NameMatch; }
    }

    private bool NameMatch(databaseEntry deTemp)
    {
        if(deTemp.itemName == m_Name)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 databaseEntry 类的精简功能:

class databaseEntry
{
    public databaseEntry(int id, int area, string name)
    {
        rfid = id;
        currentArea = area;
        itemName = name;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试编译它时,我得到

“错误 CS0053:不一致的可访问性:属性类型‘System.Predicate<Database.databaseEntry>’比属性 Database.FindArea.Match 的可访问性低”

在 …

c#

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

缺少方法异常 - 找出所需方法

我有一个绑定到用户类列表的数据网格视图.

当我创建一个新行时,我得到一个缺少的方法异常"找不到User.cs上的构造函数".问题是我已经有一个默认的构造函数所以我想知道是否有办法找出参数是什么,以便我可以实现类构造函数.

这是类和构造函数

    public string Username { get; set; }
    public byte[] HashedPassword;
    public byte[] Salt ;
    public string sSalt { get { return Encoding.ASCII.GetString(Salt); } set; }
    public string sPass { get { return Encoding.ASCII.GetString(HashedPassword); } set; }
    public bool Admin { get; set; }
    public List<AnswerClass> answers { get; set; }
    public Tuple<int, int> sessionScore;

    public User(string UsernameArg = "", byte[] PasswordArg = null, byte[] SaltArg = null, bool AdminArg = false)
    {
        sessionScore = new Tuple<int, int>(0, …
Run Code Online (Sandbox Code Playgroud)

c# exception missingmethodexception

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

如何在类上正确使用dispose方法

我正在研究一个数据库,我需要在数据库类被破坏时将数据库写入文件以及表单关闭时的其他数据库

这就是我目前的称呼方式:

class database: IDisposable
{
    List<databaseEntry> dDatabase;

    public database()
    {
        dDatabase = new List<databaseEntry>;
    }
    protected virtual void Dispose(bool disposing)
    {
        if (!this.disposed)
        {
             StreamWriter sw = new StreamWriter(path);

             string toWrite;

             foreach (databaseEntry dE in dDatabase)
             {
             toWrite = dE.rfid.ToString() + " " + dE.currentArea.ToString() + " " + dE.itemName;
             sw.WriteLine(toWrite);
             }

             sw.Close();
             disposed = true;
         }
     }//destructor for database (saves database to file)

     public void Dispose()
     {
          Dispose(true);
          GC.SuppressFinalize(this);
     }
 }
Run Code Online (Sandbox Code Playgroud)

当我关闭打开此类的窗体时,不会调用Dispose方法.

这是一个赋值,我不允许使用SQL.

c# windowsformshost

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

反序列化后,Boolean字段始终返回false(Newtonsoft)

我正在使用newtonsoft的json deserialiser,我在包装器中反序列化这个对象:

public class User
{
    public string Username;
    public byte[] HashedPassword;
    public byte[] Salt;
    private bool admin;
    public bool Admin 
    {
        get { return admin; }
    }

    public User(string UsernameArg, byte[] PasswordArg, byte[] SaltArg, bool AdminArg = false)
    {
        Username = UsernameArg;
        HashedPassword = PasswordArg;
        Salt = SaltArg;
        admin = AdminArg;
    }

    public override string ToString()
    {
        return Username;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的json字符串:

{"Users":[{"Username":"admin","HashedPassword":"password","Salt":"salt","Admin":true}]}

(为了便于阅读,我编辑了哈希密码和盐)

因此,每当我使用JsonConvert.DeserializeObject<UserDatabaseClass>(jsonRead)admin字段读取此内容时返回false.

是不是我误解了这里做了什么,还是我做错了?

c# json json.net

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

来自 ocaml 的嵌套 let 语法

我刚刚开始学习 Rust,而且我来自 OCaml 背景。

我经常使用的一件事是嵌套let表达式,以便将相关代码组合在一起。

let x = 
  let y = 42 in
  y + 1
in
...
Run Code Online (Sandbox Code Playgroud)

我对这个生锈的天真翻译是:

let x = 
  let y = 42;
  y + 1
;
Run Code Online (Sandbox Code Playgroud)

但是,这无法编译。

这种类型的语法是否可行,或者它是否受到严重反对,因此不受支持?

syntax rust

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