Temporäre Dateien verwenden



  • Hallo Leute,
    ich hab das Problem, dass ich Sound dateien im Wave Format abspielen möchte, ich habe sie aber vorher verschlüsselt, damit sie keiner klaut.
    Also möchte ich dass die Dateien entschlüsselt werden (was schon reibungslos funktioniert)
    und anschließend als tmpfile oder wie auch immer gespeichert werden.
    Momentan habe ich sie noch auf die Art gespeichert,
    indem ich die datei gelesen hab, anschließend entschlüsselt, dann draufgespeichert, abgespielt, gelesen hab, verschlüsselt und wieder draufgespeichert.
    Leider ist dieses Verfahren, wenn ich mehrere Sounds hintereinander abgespielt hab schlecht,
    da einfach drübergeschrieben wurde. Ich will aber mehr eine temporäre datei, die nur kurz da ist und dann sofort wieder anders verwendet werden kann.
    Und zwar für den nächsten Sound. Ich hoffe mir kann jemand helfen. ich weiß dass es zwar tmpfile gibt und tmpnam aber kenn mich nicht mit den beiden aus.
    ent- und verschlüsseln spielt keine rolle, das mach ich selbst. mir gehts nur um die temporäre datei.

    Danke im Vorraus //wieso macht der so sterne anstatt o r r a u s?

    Darkmaster



  • Spielt ein externes Programm die Audio-Dateien ab?

    Und die Sterne, weils einfach voraus heißt. Also mit einem r 😉



  • Der korrigiert doch nicht Rechtschreibfehler, und was obszönes kann ich bei beisten Willen auch nicht drin finden, aber egal. Nee ich spiel das ganze mit dem standardplayer in c ab. bool play oder so.



  • Tja... macht es aber 😉

    Und bool play klingt nicht nach C und erst recht nicht nach ansi c...



  • Hi Bruder !
    Wie hastn das gemacht, mit dem draufspeichern ?
    Mit fopen oder so ?
    tmpfile ist doch da viel einfacher. Aber sind das denn große Dateien ?
    Wenn die nicht allzu groß sind, dann laß die doch im Arbeitsspeicher wenn du die abspielst. Das ist viel schneller als die Festplatte.

    voraus



  • wieso denkst du, dass dies nicht in C möglich wäre einfache wave dateien abzuspielen? Da nimmst du BOOL play(char *name) her und fertig.
    Das mit dem draufspeichern hab ich (vereinfacht) so gemacht

    long diskWriteBytes(long n, unsigned char a[])
    {
    FILE *f;
    long i;
    char name[MAXLINE];

    //hier fehlen die versch. sounds

    if((f=fopen(name,"wb+"))==NULL) return -1; // Datei-Fehler
    for(i=0; i<n; i++) fprintf(f,"%c",a[i]); // Datei schreiben
    fclose(f); // Datei schließen
    return i; // Anzahl der Datensätze

    mit tmpfile kenn ich mich leider ned aus, und wie ich den bool play für den arbeitsspeicher hernehm weiß ich nicht. Die Dateien sind nicht sehr groß und kommen einzeln ca. auf ein halbes mb.


Log in to reply