Håller på met ett litet projekt i C# där jag behöver känna av när en .mp3 fil används av något program (vilket som helst). Har experimenterat lite med FileSystemWatcher... men verkar inte fungera då den bara känner av ändringar av filen och inte ends när den används. Hej. Tackar. Jag ska försöka förklara lite bättre vad jag menar. I det program jag använder körs 1 st .mp3 fil (ca 2 sek lång) vid en viss händelser i programmet. Jag vill då känna av när denna händelse inträffar genom att känna av när programmet spelar upp just den ljudfilen. Hej, är det du som byggt detta program som kör 1st mp3 fil? Nix jag bygger inte själv programmet utan syftet med mitt program är att övervaka det andra programmet. Hej, jag tror det kan vara svårt att göra sådan kontroll, det du är ute efter är mer en sniffer av interna medelanden. Då kommer du ner på en djupare nivå än vad jag trorBEHÖVER akut hjälp.
Kan någon hjälpa mig med ett tips om hur jag ska göra för att få det att funka som jag vill.
ÅÅÅ har upptäckt ytterligare ett problem!! Verkar som om programmet som använder .mp3 filen läser in den i minnet när jag startar programmet. För jag kan ta bort den efter programmet startats utan att det påverkar programmet. Den spelar ändå upp ljudfilen korekt. Men om jag startar om programmet så kan den inte använda filen för jag har ju tagit bort den.
Är det ändå möjligt på något sätt att titta efter i minnet när just den ljudfilen spelas upp eller på något annat sätt se när den används.
MVH Henrik LarssonSv: BEHÖVER akut hjälp.
Antar att även om Mp3 programmet har en spellista så vill du kunna känna av när den använder någon av de mp3 filerna?
Det finns en System.IO.File.GetLastAccessTimeUtc(.....) problemet är att den kollar
bara specifikt angiven fil, skulle du ha ett arkiv med ca 100-300 filer så måste du
granska alla dessa en efter en. Så fort något accessar filen kommer den få ett nytt datum, vilket då kan förklara att något öppnar filen. (Vad kan du dock inte se.)
Ang minnet så har jag ingen direkt lösning till det. Vet ej vad det rä för program du skapar, men om man tagit bort filen så bör man ju tycka att den är borta, även om den just då ligger i minnet en stund. Först har man ju accessat den vilket du kan ta reda på. Och du kan ju även ta reda på om filen tas bort.
Hoppas detta kan hjälpa dig en aning.
Mvh JohanSv: BEHÖVER akut hjälp.
Det största problemet är att den inte verkar accessa filen mer är när programmet startar upp. För även om jag tar bort filen medans programmet körs så funkar det ljudet när händelsen inträffar. Startat jag däremot om programmet så funkar inte ljudet om jag tagit bort filen.
HenrikSv: BEHÖVER akut hjälp.
Jag vet ej om dett är till hjälp, men vi kan ju försöka.
Jag byggde en egen adsl inlogning för telia i C#, samt en win32 app som låg nere i trayen som indikerade om jag var ansluten eller ej. Jag hade då två program, en
win service (som höll mig inloggad.) sedan tray programmet.
För att läsa av status o se om något hänt så la upp en tråd som hela tiden kollade min service status på så vis fick jag veta om något hänt.
Om du gjort programmet som spelar upp filen själv så kan du ju alltid modifiera och
se till så att något värde förändras, (ett event som triggas eller liknande) sedan kan ditt andra program med hjälp av trådningar ligga och läsa av om det skett någon händelse.
Om du inte byggt det själv, så kan det nog bli svårt att genomföra det du vill ha gjort.
Vet ej hur man kommer åt minnet i C# och om det ens går. Att lagra egna saker i en MemmoyStream är ju inga problem. Ev kanske du kan läsa ner hela minnet oxå, har dock inte tittat på de bitarna.
Mvh JohanSv: BEHÖVER akut hjälp.
Finns det inte något sätt som man kan känna av när något ljud skickas till ljudkortet och sedan jämföra den ljudströmmen med den aktuella .mp3 filen för att på det viset avgöra när den spelats upp??Sv: BEHÖVER akut hjälp.
man kan komma åt via C#. :-(