und wie bau ich diese zeile jetzt in meine c++ code ein?
Media-player / Mp3 Idtags C++
Anzeige
#17
geschrieben 04. April 2006 - 00:19
Z.B. String-Splitten mit 'ner RegExp?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#18
geschrieben 04. April 2006 - 10:46
(hab beim themazusammenfügen unsinn gebaut, der beitrag ist eigentlich von gewup)
Hi Leute
ich bin immer noch am Media-Player programmieren,
möchte jetzt gern den Track pausieren und an dieser stelle dann wieder weiterspielen lassen über die Funktion mciSendString(?)
Weiß jemand wie das gehen könnte?
thx Gewup
Hi Leute
ich bin immer noch am Media-Player programmieren,
möchte jetzt gern den Track pausieren und an dieser stelle dann wieder weiterspielen lassen über die Funktion mciSendString(?)
Weiß jemand wie das gehen könnte?
thx Gewup
I'm mó. mo's good twin.
#19
geschrieben 04. April 2006 - 12:28
@Rika:tut mir leid, hab leider keine ahung wie das geht, könntest du das vielleicht an nem beispiel in code form hier posten?
waäre echt voll nett....
waäre echt voll nett....
Dieser Beitrag wurde von F$KiNg bearbeitet: 04. April 2006 - 12:29
#20
geschrieben 04. April 2006 - 14:02
Sagen wir mal du nimmst Boost-Regex.
if (noID3TagFound) {
//trying to parse the filename in a useful manner
static regex blah = new regex(L"\d{1,2}\$0\s((\w+?)\$1\s-\s)?\w+?\$2\.\w+?$");
if (blah.match(filename)) {
int titlenr=strtoint(blah.results[0]);
CString interpret = blah.results[1]?blah.results[1]:"";
CString title = blah.results[2];
} else {
throw E_NO_USEFUL_INFORMATION_FOUND;
}
}
if (noID3TagFound) {
//trying to parse the filename in a useful manner
static regex blah = new regex(L"\d{1,2}\$0\s((\w+?)\$1\s-\s)?\w+?\$2\.\w+?$");
if (blah.match(filename)) {
int titlenr=strtoint(blah.results[0]);
CString interpret = blah.results[1]?blah.results[1]:"";
CString title = blah.results[2];
} else {
throw E_NO_USEFUL_INFORMATION_FOUND;
}
}
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#21
geschrieben 04. April 2006 - 21:06
Aber wie soll ich dieses format dann in einem program verwenden und auslese?
kannst du mir vielleicht leicht verständlichen c++ code zeigen?
bin nämlich noch nicht der erfahrenste, wie du leicht an meiner Gigantischen Anzahl an Beiträgen erkennen kannst
kannst du mir vielleicht leicht verständlichen c++ code zeigen?
bin nämlich noch nicht der erfahrenste, wie du leicht an meiner Gigantischen Anzahl an Beiträgen erkennen kannst
#22
geschrieben 05. April 2006 - 06:33
gewub, ohm, rika hat ne kleine feine regexp geschrieben, mit der du eine zeichenfolge im stil von:
[Tracknummer][ ]([Interpret][ - ])[Titel].ext
in tracknummer, interpret und titel aufteilen kannst.
es schadet als programmierer ganz sicher ned, sich ein klitzewenigig mit regulären ausdrücken auszukennen.
siehe auch: http://en.wikipedia.org/wiki/Regexp
http://www.google.co...ssions+tutorial
mit boost ( http://www.boost.org/ ) hast du ausserdem eine feine bibliothek für regexpr, multithreading, und vieles vieles mehr, siehe auch http://www.boost.org...s/libraries.htm
[Tracknummer][ ]([Interpret][ - ])[Titel].ext
in tracknummer, interpret und titel aufteilen kannst.
es schadet als programmierer ganz sicher ned, sich ein klitzewenigig mit regulären ausdrücken auszukennen.
siehe auch: http://en.wikipedia.org/wiki/Regexp
http://www.google.co...ssions+tutorial
mit boost ( http://www.boost.org/ ) hast du ausserdem eine feine bibliothek für regexpr, multithreading, und vieles vieles mehr, siehe auch http://www.boost.org...s/libraries.htm
I'm mó. mo's good twin.
#23
geschrieben 05. April 2006 - 08:51
gut danke, wir werden uns mal damit auseinandersetzten! und das ganze verarbeiten!
vielen dank mal bis hier her.
wir werden dann das hoffentlich erreichte ergebnis hier posten!
Gruß F$KiNg
EDIT:
könnte mir das hier jemand erklären ist C# und ich versteh kein word, hab ich von der site: Link
ist zum auslesen des id tags, auch wenn das hier sehr umstritten ist:
wäre echt voll nett.........
vielen dank mal bis hier her.
wir werden dann das hoffentlich erreichte ergebnis hier posten!
Gruß F$KiNg
EDIT:
könnte mir das hier jemand erklären ist C# und ich versteh kein word, hab ich von der site: Link
ist zum auslesen des id tags, auch wenn das hier sehr umstritten ist:
FileInfo file = new FileInfo(this.Filename); Stream s = file.OpenRead(); byte[] bytes = new byte[128]; s.Seek(-128, SeekOrigin.End); int numBytesToRead = 128; int numBytesRead = 0; while (numBytesToRead > 0) { int n = s.Read(bytes, numBytesRead, numBytesToRead); if (n==0) { break; } numBytesRead += n; numBytesToRead -= n; } s.Close();
private static String ConvertByteToString(byte[] bytes, int pos1, int pos2) { //pos2 muß größer oder gleich pos1 sein und //pos2 darf Länge des Arrays nicht überschreiten if ((pos1 > pos2) || (pos2 > bytes.Length - 1)) { throw new ArgumentException("Aruments out of range"); } //Länge des zu betrachtenden Ausschnittes int length = pos2 - pos1 + 1; //neues Char-Array anlegen der Länge length Char[] chars = new Char[length]; //packe alle Bytes von pos1 bis pos2 als //Char konvertiert in Array chars for (int i = 0; i < length; i++) { chars[i] = Convert.ToChar(bytes[i + pos1]); }//end for //konvertiere Char-Array in String und gebe es zurück return new String(chars); }
String tag = ConvertByteToString(bytes, 0, 2); if (tag != "TAG") { return false; } m_title = ConvertByteToString(bytes, 3, 32); m_artist = ConvertByteToString(bytes, 33, 62); m_album = ConvertByteToString(bytes, 63, 92); m_year = Int32.Parse(ConvertByteToString(bytes, 93, 96)); m_comment = ConvertByteToString(bytes, 97, 126); m_genre = bytes[127];
wäre echt voll nett.........
Dieser Beitrag wurde von F$KiNg bearbeitet: 05. April 2006 - 09:28