Projekt Mp3

Passiert nicht in deinem Beispiel genau das gegenteil von dem was du gefragt hast?
Wenn du mehre mp3s auf einmal abspielen willst solltest du CreateProcess() benutzen, habe das in diesem Forum schon mal erklärt such mal danach
 
boar, kp...ich finde echt nix..
wie müsste denn der befehl lauten wenn ich 2 mp3's öffnen möchte
Code:
string pfad1="c:\\Datei1.mp3";
string pfad2="c:\\Datei2.mp3";
zum öffnen benutz ich
Code:
system((pfad).c_str());
& wie mach ich das mit CreateProcess() ?
 
ich raff den rotz nit... -.-
wie t der code denn?

Code:
string pfad="c:\\test2.mp3";

STARTUPINFO SUInfo;
PROCESS_INFORMATION PInfo;

ZeroMemory( &SUInfo, sizeof( SUInfo ));
SUInfo.cb=sizeof( SUInfo );

CreateProcess(NULL,"?",NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&SUInfo,&PInfo);

wär das richtig?
& was kommt bei "?" hin?
 
also statt "?" würde bei dir eigentlich pfad.c_str() reinkommen, aber das funktioniert bei mir irgendwie nicht, deshalb würde ich Pfad als ein charakter-array definieren, dann funktioniert das wenigstens sicher
 
C++:
#include <iostream>
#include <windows.h>

void myCreateProcess (char *filename){
  STARTUPINFO SUInfo;
  PROCESS_INFORMATION PInfo;

  ZeroMemory( &SUInfo, sizeof( SUInfo ));
  SUInfo.cb=sizeof( SUInfo );

  CreateProcess(
    NULL, // Kein Modulname, Kommando-Zeile benutzen
    filename,// Kommando-Zeile
    NULL, // Prozess-Handle nicht vererbbar
    NULL, // Thread-Handle nicht vererbbar
    FALSE, // Handle.Verebung auf FALSE 
     NORMAL_PRIORITY_CLASS,// Normale Priorität
    NULL, // Eltern-Evironment-Block verwenden
    NULL, // Elternverzeichnis als Startverzeichnis
    &SUInfo,// Zeiger auf Startup-Struktur
    &PInfo // Zeiger auf Process-Informations-Struktur
  );
}

int main(){
  char Datei[200] = {""};
  char Datei2[200] = {""};
  char Datei3[200] = {""};
  
  cout << "gib 3 dateien ein die gestartet werden sollen";
  cin.getline(Datei, 200);
  cin.getline(Datei2, 200);
  cin.getline(Datei3, 200);
  
  myCreateProcess(Datei);
  myCreateProcess(Datei2);
  myCreateProcess(Datei3);
  return 0;
}

Ungetestet, vielleicht nen falscher Include, müsste aber eig. stimmen;)
 
Zuletzt bearbeitet von einem Moderator:
Muss es eigentlich unbedingt per std::system der WMP sein? Finde ich selbst nicht so schön. Besser wäre beispielsweise eine eigene kleine Abspieleinheit, da behielte das Programm die volle Kontrolle über diese Funktionalität.

Wenn Du Dich da mal einlesen willst, empfehle ich Dir DirectX.AudioVideoPlayback ;) Ziemlich einfache Funktionalität und man hat so recht fix einen eigenen MP3 Player zusammen mit zumindest den rudimentären Funktionen.
 
so,isch hab jez den code da abgetippt & versucht auszuführen.
das geht zwar, aber wenn isch dann eingebe bei "gib 3 dateien ein die gestartet werden sollen" gebe isch ein "test.mp3" un das t nit
muss isch da den kompletten pfad angeben, oda wat?
 
Wäre nett von Dir, wenn Du Dir mal etwas Mühe bei der Rechtschreibung geben würdest.

Natürlich muss man immer den kompletten Pfad angeben, woher soll ein Programm sonst wissen, wo Du die Dateien versteckst.

Einzige Ausnahme: das File liegt im selben Verzeichniss, wie Deine exe.
 
Zurück