![]() |
MP3 von CD in Speicher bufferweise lesen und abspielen
Hallo,
ein Frage ob dies denn nun überhaupt möglich ist. Ich habe eine mp3-Datei die aber auf einer CD ist und diese darf auch nie und nimmer auf diefestplatte kopiert werden sondern sollte am besten in den Speicher geladen und von dort aus abgespielt werden. Um die Speichernutzung nicht zu sehr in Mitleidenschaft zu ziehen sollte sie auf 10MB limitiert werden..sprich er sollte immer von CD 10 MB Buffern ohne eben die gesamte Datei in den Speicher zu haben oder eben auf der Platte.. ist sowas realisierbar? wenn ja wäre ich für tipps sehr dankbar! |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
moin,
selbstverständlich ist das möglich. Stellt sich nur noch die Frage, ob du die Daten selbst dekodieren willst oder ob vielleicht ein Codec oder eine Engine diese Aufgabe übernehmen sollen? :wink: Stichwort "FMOD": ![]() |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
also die Datei soll einfach nur im Windows media Player abgespielt werden eben wie ein Buffering aus dem Internet ohne Zwischenspeicherung auf Platte.
|
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Hi!
Aber dazu brauchst du das Speicher-Gedöns doch gar nicht! ;) Bau dir doch einfach ein ShellExecute, welches die .mp3-Datei (mit dem WMP) von der CD aus abspielt. Da wird doch gar nichts auf deine Platte kopiert... Grüße, Dj_Base |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
ja das geht wenn die mp3 datei als mp3 datei auf der cd liegt, wenn sie aber im anderen format vorliegt und erst von einem Programm "lesbar" umgewandelt werden muss geht das nicht mehr.
|
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
|
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
wozu sollte ich denn den Media PLayer extra in mein Programm einbauen, wenn den schon jeder in Windows hat..das ergibt keinen Sinn.. ich wollte wissen ob ich eben eine Datei, die zuerst umgewandelt wird stückchenweise in den Speicher ablegen kann und gleichzeitig diese aus dem Speicher abspielen...und nichts den Medai player integrieren.
sprich hier ein beispiel: Date hat Inhalt ABCDEFGHIJKL dieser kann nicht gelesen werden weil es kein Programm gibt dass es wiedergeben kann nun kommt mein Programm und wandelt den Inhalt stückchenweise in den Speicher um sprich macht eine neue Datei im Speicher mit dem Inhalt: ich bin eine mp3 datei spiel mich ab nun wird Medai player gestartet und fängt an abzuspielen nur kommt eben nicht alles auf einmal an sondern eher so: ich bin eine mp3 datei spiel mich ab und tue das so lange bis ich zu ende bin dabei sollte jeweils der Anfang durch die fortlaufenden Informationen ersetzt werden..sprich es soll dadurch verhindert werden, dass die gesamte Datei im Speicher lesbar liegt..nur Stückchenweise soll es sein. so hoffe das ist verständlicher |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Es geht doch mehr um die Funktionen, die du dazu benötigst, denn woher soll der Media Player wissen, das du die Datei komplett in den Speicher schieben und abspielen willst. Du brauchst also Funktionen, die es der Möhre von Media Player sagt!
|
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
wieso sollte ich sowas brauchen..wenn du eine File aus dem Internet anklickst und die im Media Player abgespielt wird startet dieser auch sofort ohne dass die Datei vollkommen auf der Platte geladen ist..Streaming nennt man sowas also immer stück für stück und genau das will ich mit meiner datei auch haben. ..ergo..wie streame ich eine datei in den speicher und lade sie dann in den player ?
|
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Wozu denn dann streamen, dann kannst du sie genauso gut per Explorer öffnen!
Dein Programm sucht aus der Registry den Pfad zum Media Player und öffnet die Datei per Parameter. Daraus folgt, die Datei wird abgespielt und du bist fertig. Ist es das was du wolltest? :mrgreen: |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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 :-)
|
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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. :stupid: |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Ü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:
nur wie bekomme ich jetzt die Datei als das MemStream ..von mir aus ist der Pfad der Datei
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; C:\Test.mp3 |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Zitat:
Delphi-Quellcode:
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...
const FILE_NAME = 'C:\Test.mp3';
... MemStream := TMemoryStream.Create; MemStream.LoadFromFile(FILE_NAME); 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 |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Wie wäre es mit einem kleinen Webserver in deinem Decoder? Du ruftst dann einfach
![]() Wobei... dann landet das Ergebnis im Cache, außer der Webserver verwendet ssl :? |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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? |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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 |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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 ? |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
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. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
ja wobei dann wieder derjenige die nötigen Rechte haben muss um die treiber installieren zu können usw.
wäre es denn möglich einfach in die mp3 datei an ganz vielen Stellen zeichen rein zu schreiben...somit wäre die datei nicht lesbar für keinen Player..erst wenn die Anwendung gestartet wird werden an den entsprechenden Stellen die Zeichen rausgefiltert und abgespielt..aber lass mich raten ich müsste diese Rausgefilterte Version erst abspeichern vor dem Aufruf oder ? :-( |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Ich weiß nicht, ob sich der ganze Aufwand überhaupt lohnt... Schreib die Datei einfach ins Tempverzeichnis und gut ist es.
Egal wie Du dein Problem am Ende löst, nachher geht dann einfach jemand her und schneidet deinen Sound mit, während er abgespielt wird und die ganze Arbeit war für die Katz :cat: ... |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Ah, so langsam verstehe ich deine Aufgabenstellung. Nur mal angenommen man besitzt nicht legal erworbene Musikstücke oder die Musik verstößt gegen Gesetze oder der jeweilige Computer besitzt nicht die nötigen Lizenzen um die Dateien abzuspielen, so könntest du zur Rechenschafft gezogen werden. Und um das zu verhindern, möchtest du ein Programm schreiben.
Dann wäre es doch wesentlich sinnvoller einen eigenen Player zu entwickeln, der eventuell das ganze während dem Abspielen gestreamt entschlüsselt und abspielt. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Zitat:
Nein mir geht es lediglich darum, dass es jemandem erschwert wird meine Daten einfach zu kopieren und ich geh davon aus, dass nicht gerade der Hackerking höchst persönlich davor platz nimmt und wenn, dann ist es eine Ehre so weit gekommen zu sein, dass das Programm so beliebt ist ;). Ich glaube die Ausführung der Datei mit exklusiv Rechten und dem Versteckt-Attribut sollte denke ich mal für Ottonormal-User mehr als problematisch werden sie zu kopieren. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Zitat:
ps: Sie direkt von CD abspielen zu lassen, sollte noch einfacher und 'sicherer' sein. :roll: Ich blicke bei dir nicht mehr durch. :freak: |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
habe nunmal sehen wollen welche Möglichkeiten einem da bleiben..und da keine andere Lösung da ist, muss ich auf diese zugreifen.
Von CD abspielen geht nur wenn die datei im mp3-Format schon auf CD liegt..und ist das der Fall dann kann jeder einfach die CD aufmachen und die Daten kopieren..wo da sicherheit drin sein soll bei einem normalen Laufwerkszugriff weiss ich auch nicht..überleg mal was du schreibst! und wenn du keine konstruktive Lösung hast sondern nur destruktive Kommentare dann behalte sie für dich! |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
schreib doch die dekodierten Daten einfach in eine RAM-Disk (zunot als mehrere Dateien die dann einfach nacheinander abgespielt werden). Wobei das allerdings kopieren kaum verhindern dürfte, da ich die Daten immer noch direkt vom Audiodevice mitschneiden kann.
Ratte |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Zitat:
Hier kamen doch einige gute Vorschläge, aber anscheinend willst du dir gar nicht helfen lassen. Auf Standards willst du nicht setzen, die Daten verschlüsseln, nein?, einen Media-Server aufmachen, auch nicht?, einen eigenen Player schreiben und damit die Formate abspielen, das ganze nur von CD lesen und direkt in den hauptspeicher laden, auch nicht, naja und Funktionen kennst du auch nicht? Zitat:
Zitat:
kann diese Person auch an die Daten auf der CD gelangen. Andernfalls nicht. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Zitat:
Zitat:
Zitat:
Und das problem ist, dass eben die Benutzer die CD haben werden..und deshalb geht das nicht :) aber versteht mich nicht falsch die Anregungen sind sehr gut nur jedoch super schwer in der Umsetzung dachte eben das mit dem Speicher würde gehen aber das war ja nichts. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
^^Natürlich geht das, aber man muss eben wissen auf welche Kompromisse man sich einlassen kann und wie weit man den Benutzer einschränken kann bzw. darf. Jeder 10 jährige kopiert heutzutage mit zwei Maus-Klicks eine CD, von daher ist das ganze nicht lösbar.
PS: Ich finde es schon ziemlich dreist, dass du erst jetzt damit herausrückst. :roll: Da Stand nämlich nichts von wegen: "Der Benutzer hat die CD..." |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Zitat:
@Avax2k: An Kopierschutzverfahren hat sich bisher jeder Hersteller die Zähne ausgebissen. Entweder, es war irgendwie zu umgehen, oder es lief nur mit dafür vorbereitete Hardware oder Software, die niemand besaß. Daß Sony/BMG letztens so schön auf Fresse geflogen ist, sollte dir vielleicht zu denken geben. Gäbe es eine einfache, standardkonforme andere Möglichkeit als tiefgehende Eingriffe ins System, hätte Sony/BMG sicherlich nicht so viel Energie in die Entwicklung dieses Sücks Sche*** gesteckt, das sich Kopierschutz nennt. Du *kannst* Eine MP3-Datei on-the-fly aus dem Speicher heraus abspielen. Du *kannst* eine MP3-Datei on-the-fly entschlüsseln. Du *kannst* den kompletten Zugriff auf das Laufwerk beschränken. Du *kannst* das ganze mit dem Windows Media Player aufziehen. Nur ist der Aufwand dafür zu groß, weil (derzeit) keine einzige Komponente des Systems dafür gemacht wurde. Der WMP wurde dafür gemacht, Netzwerkstreams abzuspielen oder Dateien. Der Dateisystemtreiber wurde dazu gemacht, Dateien mit möglichst wenig Latenz und guter Performance an den Caller zu bringen. Die Laufwerkstreiber wurden dazu gemacht, jedem Zugriff auf das Laufwerk zu gestatten, der die nötigen Rechte dazu besitzt. Die ISO-Standards für Daten- und Audio-CDs wurden nicht dafür gemacht, dem Benutzer seine Möglichkeit auf Sicherheits- und Privatkopien zu entziehen. Entweder du schreibst einen eigenen Player, einen eigenen Treiber oder entwickelst eigene Hardware. Eines davon wird dir aber nicht erspart bleiben. Vielleicht in ein paar Jahren, wenn sich HDTV-ähnliche Kopierschutzverfahren für Audio durchgesetzt haben und du das sowieso nicht mehr brauchst, weil du dir für ein paar Lappen 'nen Schlüssel kaufst und der Rest von der Hardware gemacht wird, aber derzeit gibt es keine andere Möglichkeit. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Muss das ganze eigentlich auf jedem Rechner funktionieren? Ansonsten kann am nsich schon einige Tricks in Hardware vorstellen. Aber es bringt sowieso nix da man die Daten ja wie gesagt spätestens bei der Ausgabe mitschneiden kann. Um was handelt es sich eigentlich genau?
Ratte |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
@tommie-lie: Der Benutzer nicht die CD :roll:
ich bin anfangs davon ausgegangen, das nur er die CD besitzt. |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
ja dann wird es das einfachste sein ich vergesse das ganze und lege die daten wie befürchtet verschlüsselt auf cd ab..das programm legt die dann entschlüsselt irgendwo auf platte und spielt ab mit exklusiv rechten damit niemand sonst auf die datei zugreifen kann wenn die benutzt wird und dann wird sie gelöscht.. das mit dem Mitschnitt ist klar aber dagegen kann ich gar nichts machen..mir ging es einfach darum dass jemand nicht einfach die CD kopieren kann und das wars auch schon..zum mitschneiden braucht er ja auch noch software und muss wissen das das so geht usw. und dann hat man sowieso verloren, denn wo ein Wille ist ist ja bekanntlich auch ein Weg.
Ein Dank geht an alle für die rege Teilnahme :D |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
Ich glaube, ich habe das was gefunden ;) ...
![]() |
Re: MP3 von CD in Speicher bufferweise lesen und abspielen
hey danke für den Link, der ist wirklich gut nur leider auch nicht die Lösung, denn es ist ja ein Packer der alle Dateien in die Exe mit hineinbindet..und um sie dann benutzen zu können muss er sie in ein fixes Verzeichnis herausextrahieren und kann dann erst auf diese zugreifen.
Somit das gleiche Problem wie als wenn ich die Dateien als RES einbinden würde..um sie zu benutzen müssten sie umgewandelt und auf Platte geschrieben werden da kommt man nicht drum herum - leider. Aber macht nichts alle anderen Programme machen das auch so..somit ist das weniger schlimm. Vielen Dank nochmal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz