AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi HDD Standby verhindern - Mediaplayer pause
Thema durchsuchen
Ansicht
Themen-Optionen

HDD Standby verhindern - Mediaplayer pause

Ein Thema von Cylence · begonnen am 23. Nov 2009 · letzter Beitrag vom 24. Nov 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 13:09
Hi,

die interne ist die selbe wie die 3 externen, die externen schalten sich selbst aus, unabhängig von den Windows Energie Optionen. Dies ist ganz normal bei manchen externen Platten, ist abhängig vom Controller.
Ich möchte dohc nicht die Energieoptionen umstellen, sondern nur die Platte die eh gleich wieder verwendet wird aktiv halten. Das wäre für die Lebensdauer der Festplatten besser... wenn auch manche anders denken, aber für jede halbe std oder 10 Minuten die platte aus und einschalten, ist sicher nicht besser als sie die paar minuten einfach aktiv zu halten.
Ich weiß auch das ich auf einige externe Platten garkeinen zugriff auf Smart Infos hab, dies ist wieder auch abhängig vom verbauten ControllerChip.
Also wieso schaltet sich die platte ab obwohl ich fileexists bzw getfilesize mache? Ist dies auch im Cache von Windows irgendwie? So das garkein Zugriff auf die platte erfolgt wenn ich eine der funktionen aufrufe?


Gruß

tom
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#12

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 13:15
Zitat von Cylence:
Also wieso schaltet sich die platte ab obwohl ich fileexists bzw getfilesize mache? Ist dies auch im Cache von Windows irgendwie? So das garkein Zugriff auf die platte erfolgt wenn ich eine der funktionen aufrufe?
Zitat:
Das Dateisystem landet immer in der WindowsFileCache
Also alle möglichen gelesenen Verzeichnisse und die darin enthaltenen Informationen über die Dateien.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 13:24
ok

danke und was gäbe es denn für eine mögliche funktion die wirklich aus dem filesystem liest, womit dann eben die platte aktiv gehalten würde? Ist nur eine Datei schreiben und wieder löschen oder sowas eine möglichkeit? Oder würde selbst das evtl nur im Cache ablaufen dann?

lg

tom
Tom
Just DO it
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 14:36
Theoretisch kann Windows sich immer dazu entscheiden Dateioperationen verzögert auszuführen, also zunächst im Cache. Vielleicht ergibt eine Suche nach Möglichkeiten diesen manuell zu flushen/invalidieren einen Weg. Eine größere Datei zu schreiben könnte u.U. auch gehen (wenn diese die Grenzen des Cache überschreitet auch gesichert - ich weiss nur nicht wie groß der ist), jedoch ist das alles andere als toll. Zum einen würde ich als Anwender nicht wollen dass mir ein Programm - dass es von der Funktion her nicht erwarten ließe - wild Zeug wo hin schreibt, zum anderen ist da das Problem mit Schreibrechten, UAC und Virtualisierung...
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 14:52
ja das seh ich ja auch so
daher hab ich ja erst versucht einfach nur fileexists zu machen, aber das reicht ja leider nicht. schade eigentlich.
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#16

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 15:58
Zitat von Medium:
ich weiss nur nicht wie groß der ist
Wenn man diese nicht begrenzt hat (was standardmäßig der Fall ist), dann ist das der gesamte verfügbare RAM.

Wie ließt denn dein Player diese Datei?
Wie gesagt, ließ einfach neue Daten ein, bevor das Abspielen beginnt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#17

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 16:02
Und wenn dann da einer kommt (Windows z.B.) und sowas wie Prefetching betreibt? (Ich weiss echt nicht ob das der Fall ist, ich will nur sagen dass das auch nicht SO unbedingt der goldene Weg ist.) Ich würd echt mal gucken, ob es nicht eine API gibt, die Windows unmissverständlich klar macht, dass ein Aufruf auf keinen Fall aus dem Cache beantwortet werden soll - u.U. durch erzwungenes Leeren.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#18

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 16:05
Prefetching ... jaja, wir kennen wohl alle diese kranken "angeblichen" RAM-Booster

Zitat von Medium:
Ich würd echt mal gucken, ob es nicht eine API gibt, die Windows unmissverständlich klar macht, dass ein Aufruf auf keinen Fall aus dem Cache beantwortet werden soll
> NonBuffered-FileIO (siehe MSDN-Library durchsuchenCreateFile)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 16:29
Hi,

der Player liest die Datei mit hilfe des DSPacks, nach dem Pause ist auch die zeit die noch abgespielt wird immergleich auf verschiedenen PCs immer ca 2 sec noch, dann ist Ende. Ich glaub nicht das die ganze Datei in den RAM geladen wird, bzw das Windows das macht... Windows lädt zwar ab VISTA tatsächlich fast den gesamten RAM voll, aber da sind andere Files drinnen, nicht Videos die abgespielt werden, ich denke das is eher für Programm und Systemdateien etc...
Ok dann anderer ansatz, wie kann ich denn bevor ich wieder Play mache...warten bis die Platte tatsächlich aktiv ist??? Ich mache einen Fileexists, aber das reagiert ja auch ohne aktive Platte, also ist das auch nicht so leicht hinzu bekommen...

Gruß

tom
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#20

Re: HDD Standby verhindern - Mediaplayer pause

  Alt 23. Nov 2009, 19:29
dann wird das DSPack wohl einen 2-sekündigen Puffer nutzt

so, und Folgendes hätte man sich ganz leicht, mit Hilfe des MSDN, zusammensetzen können.
Delphi-Quellcode:
Var H: THandle;
  Buf: Array[0..4095] of Byte;
  W: LongWord;

H := CreateFile(PChar(Dateiname), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, 0);
ReadFile(H, Buffer, 4094, W, nil);
CloseHandle(H);
Die 4 KB sind Absicht.
Denn, wie man im MSDN gelesen haben sollte, muß man hier in ganzen Sektoren lesen.
(Festplatte/USB-Stick/Speicherkarten = 512 Byte pro Sektor und CD/DVD = 4 KB pro Sektor)

Da ReadFile nun direkt ließt, muß die Platte erstmal hochfahren, bevor es weitergeht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz