Ich bin neu in C# und kann etwas falsch machen!Emotiv in C# - Fehler einschließlich Bibliothek
Ich habe es angeschlossen und mit EmotivXavier Control Panel arbeiten. Ich habe einen Code geschrieben, um die Rohdaten in csv aus dem EEG Emotiv zu bekommen.
Ich habe das Community SDK von Emoticon GitHub heruntergeladen. Dort konnte ich die DotNetEmotivSDK.dll finden. Zusammen mit vielen anderen:
Ich habe alle diese Dateien in meinem Projekt „/ bin“ -Ordner und versucht, alle von ihnen in der Visual Studio zu verweisen. Nur ein arbeitete
Dennoch Ich verwende die Emotiv Klasse in C#, nur mit dieser einzigen DLL enthalten könnte.
Aber, wenn ich meinen Code ausführen, zeigt dieser Fehler auf:
Der Fehler sagt:
Unbehandelte Ausnahme: System.DllNotFoundException: Kann nicht edk‘DLL laden. dll ': Das angegebene Modul konnte nicht gefunden werden. (Ausnahme von HRESULT: 0x8007007E) bei Emotiv.EdkDll.Unmanged_IEE_EmoEngineEventCreate() bei Emotiv.EdkDll.IEE_EmoEngineEventCreate() in C: \ Benutzer \ Becchi-PC \ Dokumente \ EEG \ community-sdk-master \ Beispiele \ C# \ DotNetEmotivSDK \ EdkDll.cs: Zeile 756 bei Emotiv.EmoEngine..ctor() in C: \ Benutzer \ Becchi-PC \ Dokumente \ EEG \ Community-SDK-Master \ Beispiele \ C# \ DotNetEmotivSDK \ EmoEngine.cs: Zeile 393 bei Emotiv.EmoEngine.get_Instance() in C: \ Benutzer \ Becchi-PC \ Dokumente \ EEG \ community-sdk-master \ Beispiele \ C# \ DotNetEmotivSDK \ EmoEngine.cs: Zeile 418 bei EEG.EEG_Logger..ctor() in C: \ Benutzer \ Becchi-PC \ Dokumente \ EEG \ EEG_v2 \ Programme.cs: Zeile 21 bei EEG.EEG_Logger.Main (String [] args) in C: \ Benutzer \ Becchi-PC \ Dokumente \ EEG \ EEG_v2 \ Programm.cs: Zeile 97
Die fehlende DLL (Edk.dll) ist eine von denen konnte ich nicht verweisen.
Das ist mein voller Code:
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);
}
}
}
}
Bitte um Hilfe!