AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi MP3 von CD in Speicher bufferweise lesen und abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

MP3 von CD in Speicher bufferweise lesen und abspielen

Ein Thema von Avax2k · begonnen am 17. Jan 2006 · letzter Beitrag vom 21. Jan 2006
Antwort Antwort
Seite 2 von 4     12 34      
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#11

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 17. Jan 2006, 23:13
nein eben nicht weil beim streaming die datei erstmal im hintergrund komplett auf die platte geklatscht wird und später dann gelöscht wird..meine datei soll aber NIEMALS auf der Platte sein ..und auch nicht im Speicher..wenn dann nur im Speicher und zwar stückchenweise damit man nie eine komplette Datei haben kann
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#12

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 17. Jan 2006, 23:47
Also, du willst den Media Player starten und einen Song von CD abspielen. Dieser Song liegt als Datei vor.
Außerdem soll der Song nicht auf irgendeinem Datenträger landen, um ihn beispielsweise zu speichern, weder im Ab-Speicher noch auf der Festplatte. Und was soll das verhindern? Das jemand deine Songs nicht klauen kann? Blödsinn, das kann er so oder so.
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#13

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 01:41
Über die Philosophie weshalb und wieso und wozu und weswegen braucht man sich nicht unterhalten das ist ja nicht die Frage gewesen.. aber ein Grund ist das Verhindern von Schreibprozessen auf der Festplatte denn je größer das Datenvolumen umso schneller nutzt sich die Platte ab, wenn da ständig zugegriffen werden muss..Speicher ist da was anderes eben nicht maschinell.

ich dachte es könnte so gehen...

was fehlt da noch..zum Optimieren wäre super wenn mir jemand auch dabei unter die Arme greifen könnte

Delphi-Quellcode:
var MemStream: TMemoryStream;
MemStream := nil;
try
  MemStream := TMemoryStream.Create;
  Stream.Position := 0;
  while Stream.Pos < Stream.Size do begin
    MemStream.Clear;
    if (Stream.Pos+10240000) <= Stream.Size then
      MemStream.CopyFrom(Stream,10240000)
    else
      MemStream.CopyFrom(Stream,Stream.Size - Stream.Pos);
  end;
finally
  MemStream.Free;
end;
nur wie bekomme ich jetzt die Datei als das MemStream ..von mir aus ist der Pfad der Datei
C:\Test.mp3
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#14

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 09:13
Zitat von Avax2k:
nur wie bekomme ich jetzt die Datei als das MemStream ..von mir aus ist der Pfad der Datei
C:\Test.mp3

Delphi-Quellcode:
const FILE_NAME = 'C:\Test.mp3';
...
 MemStream := TMemoryStream.Create;
 MemStream.LoadFromFile(FILE_NAME);
Aber ganz ehrlich, ich hoffe du hast einen sinnvolleren Grund als die Abnutzung der Festplatte durch Schreibzugriffe. Da müsste die Platte aber schon ziemlich viele Zugriffe gehabt haben, damit dass passiert was du hier sagst. Und da du sicherlich die Speicherverwaltung dem Betriebssystem überlässt, hast du gar keinen Einfluss darauf, dass dein MemoryStream überhaupt nur RAM alloziert. Gut, wahrscheinlich hast du den virtuellen Speicher abgeschaltet, um Schreibzugriffe auf die Platte zu verhindern, aber dann wäre ja noch das booten, da schiebt Windows schon total unnötig und häufig Dateien hin und her, da soll der Start optimiert werden...
Also ich weiß nicht, in wie weit dass schon in allen Platten steckt, aber in der Regeln benutzen Festplatten sehr viel Intelligenz beim Schreiben. Die versuchen natürlich optimale Performance zu garantieren, aber auch Konsistenz der Daten ist nicht gerade unwichtig. Deshalb wird auch ein wenig verteilt geschrieben. Die Logik deiner Platte versucht ähnlich wie bei Flashspeicher nicht immer an die gleiche Stelle zu schreiben sondern möglichst gleich verteilt über die gesamte Platte zu kommen.

Wie gesagt, ist eher OT und ich finde deine eigentliche Frage auch sinnvoll, aber ich hoffe du hast da einen besseren Grund.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#15

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 09:48
Wie wäre es mit einem kleinen Webserver in deinem Decoder? Du ruftst dann einfach http://localhosteinPort/mystream.mp3 auf und dein Webserver muss dann nur noch den Stream liefern
Wobei... dann landet das Ergebnis im Cache, außer der Webserver verwendet ssl
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#16

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 11:33
Erstmal vielen Dank für die Hilfestellungen ..

Die Festplattenbenutzung ist natürlich nicht nur das Einzige..es ist auch die Rechteverteilung der jeweiligen Rechner, dabei will ich es einfach verhindern, dass etwas auf der Platte abgelagert wird, was auf CD schon existiert..auch wenn dies nur Sessionbedingt ist, die heutigen PCs sind da schnell genug alsdass man eben mit Festplatte "vorbuffern" müsste.

Der eigene kleine Server ist keine gute Idee da ja wie du bereits sagst die Daten gecached werden und zweitens auch alle Firewalls gleich melden, dass da was versucht ausgeführt zu werden und wenn ein User eben auf nein klickt dann kann er die Daten nicht mehr empfangen.

ich versuch es mal mit den bisher erfolgten Ratschlägen umzusetzen...werde somit gleich antworten, ob dies so klappt wie ich das mir vorgestellt hatte oder eben immer noch nicht realisiert werden konnte.
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#17

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 12:45
so bin nun eine ganze Stunde daran gesessen und weiss einfach nicht wie ich nun die Datei starten soll aus dem Speicher....

Shellexecute funktioniert da nicht..ich kann ja File_Name nehmen aber dann öffnet er die Datei direkt von da wo sie ist und eben nicht vom Speicher aus..

kann mir da jemand helfen?
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#18

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 12:52
Eben...

Du kannst dem Mediaplayer keinen Memorystream schicken, da es dafür einfach keine Schnittstelle gibt
Es gibt IMHO nur 2 Möglichkeiten:
1. Datei
2. Stream über einen Webserver/Mediaserver
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#19

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 13:01
ja das habe ich mir gerade auch gedacht..somit ist das ganze Vorhaben zum Scheitern verurteilt.. naja eine Frage bleibt dann noch.


kann ich die Datei auf der Festplatt die temporär entsteht vor Zugriffen schützen..sprich so lange die File abgespielt wird kann man sie nicht anklicken oder kopieren oder sonst was und nach dem abspielen wird sie dann gelöscht ?
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#20

Re: MP3 von CD in Speicher bufferweise lesen und abspielen

  Alt 18. Jan 2006, 13:06
Wenn Du es hinbekommst, deinen Server mit SSL zu sichern, dann speichert der Browser das ganze IMHO nicht so offen im Cache.
Obwohl... Es bliebe noch der Weg über einen Treiber ein eigenes Temporäres Laufwerk zu erzeugen... oder ähnlich wie filemon (sysinternals.com) alle Dateizugriffe abzufangen und ggf. den Zugriff zu verweigern.
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 02:41 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