Brauch ein paar Leute die mal den Player in meinem Programm testen
-
Hallo,
unter folgender URL findet ihr ein Rar-Datei (testmymp3s.rar). http://www.thorsten-steinberg.de/testmymp3s.rar
Entpackt diese und führt die Exe aus.
Probiert dann mal ein paar Mp3 dateien abzuspielen, also eine auswählen und auf play drücken, eine andere aussuchen und wieder play. das ganze dann auch mal mit nem stopp dazwischen (pause ist noch nicht fertig).
Bei mir läuft das einwandfrei.
Bei einem Freund kommt eine Fehlermeldung in der Art: ""Die Anwendung hat einen Fehler verursacht... Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden".Wenn mir da auch einer Helfen könnte, wäre das ganz nett.
Wenn ihr Fehler gefunden habt, schreibt sie bitte auf, mit Betriebssystem.
Läuft wohl Vorläufig auf Win Systeme, ab welcher Version kann ich leider nicht sagen, da ich nur XP habe.Gruß
Thorsten
-
SOURCE?
-
//HauptUnit //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "mymp3s_u2.h" #include "mymp3s_u1.h" #include "mymp3s_u3.h" #include "mymp3s_u4.h" #include "Mp3Class.h" #include "mymp3s_u5.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //globale deklaration int gesamtDatein; //bekommt den Count Wert der filelistbox der mp3s //--------------------------------------------------------------------------- void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action) { Form1->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm2::mnu_updateClick(TObject *Sender) { Form3->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::driveChange(TObject *Sender) { dir->Drive=drive->Drive; //wechselt das Laufwerk der DirListBox } //--------------------------------------------------------------------------- void __fastcall TForm2::dirChange(TObject *Sender) { filst_mp3->Directory=dir->Directory; //wechselt das Verzeichnis der FileListBox gesamtDatein=filst_mp3->Items->Count; //zählt die einträge in der FileListBox } //--------------------------------------------------------------------------- void __fastcall TForm2::filst_mp3DblClick(TObject *Sender) { int laenge; //sollte ein eintrag in FileName sein, wird gerade eine //Datei abgespielt. diese muss zuvor gestoppt und der mplayer geschlossen werden if(!(mpl_player->FileName == "") ) { mpl_player->Stop(); //stopt den mplayer mpl_player->Close(); //und schließt ihn } //erst überprüfen ob überhaupt dateien zum abspielen //vorhanden sind. Sollte gesamtDatein ungleich 0 sein, wird keine //Datei versucht abzuspielen, da sonst eine Fehlermeldung kommen würde if(!(gesamtDatein == 0)) { mpl_player->FileName = filst_mp3->FileName; //erhält den Pfad zur Datei die abgespielt werden soll mpl_player->Open(); //öffnet den mplayer mpl_player->Play(); //spielt die Datei ab mpl_player->TimeFormat = tfHMS; laenge=mpl_player->Length; Label1->Caption = IntToStr(LOBYTE(LOWORD(laenge))); //Minuten anzeige // Minuten in Label2 anzeigen Label2->Caption = IntToStr(HIBYTE(LOWORD(laenge))); // Sekunden in Label3 anzeigen Label3->Caption = IntToStr(LOBYTE(HIWORD(laenge))); } } //--------------------------------------------------------------------------- void __fastcall TForm2::mnu_packenClick(TObject *Sender) { tab_control->PageIndex= 1; } //--------------------------------------------------------------------------- void __fastcall TForm2::filst_mp3Click(TObject *Sender) { Mp3 *ID3_Info = new Mp3; //Erzeugt die Instanz ID3_Info //nun Kann mit der Klasse MP§Tag gearbeitet werden ID3_Info->ReadMp3Tag(filst_mp3->FileName.c_str()); //Liest den ID3-Tag aus der //aus der markierten Datei der //filst_mp3 bzw. gibt den Pfad an //Anzeigen der ID3 Tag Informationen lbl_interpret->Caption = ID3_Info->GetArtist(); //Interpret lbl_titel->Caption = ID3_Info->GetTitle(); //Titel lbl_album->Caption = ID3_Info->GetAlbum(); //Album lbl_jahr->Caption = ID3_Info->GetYear(); //Jahr if(ID3_Info->IsTag311() == true) { lbl_track->Caption = ID3_Info->GetTrack(); //Track //Label4->Caption="Ist 311"; } else { //Label4->Caption="Kein 311"; } lbl_kommentar->Caption = ID3_Info->GetComment(); //Kommentar } //--------------------------------------------------------------------------- void __fastcall TForm2::img_stopClick(TObject *Sender) { //Sollte der FileName leer sein, wird nicht gestoppt, da es //sonst zu einer Fehlermeldung kommen würde if(! ( mpl_player->FileName == "") ) { mpl_player->Stop(); //Stopt den MediaPlayer (mpl_player) } } //--------------------------------------------------------------------------- void __fastcall TForm2::img_pauseClick(TObject *Sender) { mpl_player->Pause(); //macht eine Pause in die grade abgespielte datei } //--------------------------------------------------------------------------- void __fastcall TForm2::mnu_hilfeClick(TObject *Sender) { if(FileExists("Help\\MYMP3SV1.0.HLP")) { ShellExecute(Handle, "open", "Help\\MYMP3SV1.0.HLP",NULL,NULL,SW_SHOWDEFAULT); //hilfedatei öffnen auch mit F1 } else { MessageDlg("Die Hilfedatei ist nicht vorhanden! \n Bitte schauen Sie auf der Produkthomepage vorbei!",mtWarning,TMsgDlgButtons() << mbOK, 0); } } //--------------------------------------------------------------------------- void __fastcall TForm2::mnu_aboutClick(TObject *Sender) { Form4->Show(); //zeigt Form4 } //--------------------------------------------------------------------------- void __fastcall TForm2::mnu_updownClick(TObject *Sender) { Form5->Show(); //zeigt Form5 } //--------------------------------------------------------------------------- void __fastcall TForm2::FormCreate(TObject *Sender) { gesamtDatein=filst_mp3->Items->Count; //zählt die einträge in der FileListBox } //---------------------------------------------------------------------------
-
Haste auch ne ZIP?
-
JA! extra für dich
http://www.thorsten-steinberg.de/testmymp3s.zip
-
Dieser Thread wurde von Moderator/in junix aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum Projekte verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Mp3 *ID3_Info = new Mp3;
Gibt es auch irgendwo ein delete dazu ?
-
nein, gibt es nicht, kann das ausschlag gebend sein, für einen Fehler alla "Der Vorgang "read" konnte nicht auf den Speicher ausgeführt werden?
-
Öhm, nun ja, das könnte eventuell vielleicht möglicherweise schon mal ein Grund sein.
Was man mit new erzeugt sollte man auch wieder mit delete löschen.
Des weiteren hast du da ja eine ganze Menge Pointer. Und Zuweisungen von einem Pointer zum anderen. Wenn du da nicht aufpasst, zerkloppt es dir eben irgendwann den Speicher.
-
Kann das sein das ddie stop und pause funktion genau das gleiche machen?