私はC#を初めて使用していますが、何か間違っている可能性があります。Emotiv C# - ライブラリを含むエラー
EmotivXavierコントロールパネルに接続して作業しています。 EEG Emotivからcsvの生データを取得するためのコードを記述しました。
Emotiv GitHubからCommunity SDKをダウンロードしました。 DotNetEmotivSDK.dllが見つかりました。多くの人と一緒に :
私は自分のプロジェクト「/ binに」フォルダにこのすべてのファイルを追加し、Visual Studioでそれらのすべてを参照しようとしました。一つだけが
それでもを働いていた、私は、この単一のDLLを、C#でEmotivクラスを使用含めることができます。私は自分のコードを実行したときに
しかし、このエラーが現れます:
エラーは言う:
未処理の例外:System.DllNotFoundException:DLL「EDKを読み込むことができませんが。 dll ':指定されたモジュールが見つかりませんでした。 (HRESULTからの例外:0x8007007E) (Emotiv.EdkDll.Unmanged_IEE_EmoEngineEventCreate() )Emotiv.EdkDll.IEE_EmoEngineEventCreate()(C:\ Users \ Becchi-PC \ Documents \ EEG \コミュニティ-sdk-master \ examples \ C#\ DotNetEmotivSDK) \ EdkDll.cs:行756 Emotiv.EmoEngine..ctor()(C:¥Users¥Becch-PC¥Documents¥EEG¥community-sdk-master¥examples¥C#¥DotNetEmotivSDK¥EmoEngine.cs):393 EEG.Logger..ctor()のEmotiv.EmoEngine.get_Instance()(C:¥Users¥Becchi-PC¥Documents¥EEG¥community-sdk-master¥examples¥C#¥DotNetEmotivSDK¥EmoEngine.cs:418 ) C:\ Users \ Becchi-PC \ Documents \ EEG \ EEG_v2のCEG:\ Users \ Becchi-PC \ Documents \ EEG \ EEG_v2 \ Program.cs:行21 のEEG.EEG_Logger.Main(文字列[] args) \ Program.cs:行97
欠落しているdll(Edk.dll)は、私が参照できなかったものの1つです。
これは私の完全なコードです:
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Reflection;
using Emotiv;
namespace EEG
{
class EEG_Logger
{
EmoEngine engine; //Criando a variavel com a Engine
int userID = -1; //ID do usuario
string filename = "outfile.csv"; //Arquivo de saida
EEG_Logger()
{
//Instanciando a Engine
engine = EmoEngine.Instance;
engine.UserAdded += new EmoEngine.UserAddedEventHandler(engine_UserAdded_Event);
//Conectando ao EEG
engine.Connect();
//Criando o Header do CSV
WriteHeader();
}
void engine_UserAdded_Event(object sender, EmoEngineEventArgs e)
{
Console.WriteLine("User Added Event has occured");
//Gravando o usuario
userID = (int)e.userId;
//Permitindo a aquisicao de dados
engine.DataAcquisitionEnable((uint)userID, true);
//Determinando o tempo do buffer
engine.DataSetBufferSizeInSec(1);
}
public void WriteHeader()
{
TextWriter file = new StreamWriter(filename, false);
string header = "COUNTER,INTERPOLATED,RAW_CQ,AF3,F7,F3, FC5, T7, P7, O1, O2,P8" +
", T8, FC6, F4,F8, AF4,GYROX, GYROY, TIMESTAMP, ES_TIMESTAMP" +
"FUNC_ID, FUNC_VALUE, MARKER, SYNC_SIGNAL,";
file.WriteLine(header);
file.Close();
}
void Run()
{
// Handle any waiting events
engine.ProcessEvents();
// If the user has not yet connected, do not proceed
if ((int)userID == -1)
return;
Dictionary<EdkDll.IEE_DataChannel_t, double[]> data = engine.GetData((uint)userID);
if (data == null)
{
return;
}
int _bufferSize = data[EdkDll.IEE_DataChannel_t.IED_TIMESTAMP].Length;
Console.WriteLine("Writing " + _bufferSize.ToString() + " lines of data ");
// Write the data to a file
TextWriter file = new StreamWriter(filename, true);
for (int i = 0; i < _bufferSize; i++)
{
//Escrevendo no arquivo
foreach (EdkDll.IEE_DataChannel_t channel in data.Keys)
file.Write(data[channel][i] + ",");
file.WriteLine("");
}
file.Close();
}
static void Main(string[] args)
{
EEG_Logger p = new EEG_Logger();
for (int i = 0; i < 10; i++)
{
p.Run();
Thread.Sleep(100);
}
}
}
}
助けてください!