Diskuze: Nastavení hlasitosti windows podle času

Windows Windows Nastavení hlasitosti windows podle času

Avatar
dbarvik
Člen
Avatar
dbarvik:

Ahoj, mám takový problém, potřeboval poradit. Dostal jsem za úkol vymyslet něco, co by podle aktuálního času ovládala hlasitost PC. uvedu to na příkladu > každý den od 8 hodin do 9 hodin aby byla hlasitost 100%, pak od 9 do 11 hodin hlasitost 30%, pak zas třeba od 11-13:30 hlasitost 100%. potřeboval bych tohle udělat na OS WIN 7. nevím jestli to půjde přímo nakonfigurovat ve windows, uvažoval jsem třeba o nějakém programu v C# (něco málo v něm umím, kdybych dostal nějakou radu tak si myslím že bych to zvládl).

 
Odpovědět 4.10.2013 15:51
Avatar
mariaanko
Člen
Avatar
mariaanko:
  1. Visual studio C#
  2. Zaklady programovania :(
  3. Zistit systemovy cas. Je na to jedna funkcia
  4. Pristupit k zvuku Windowsu a znizit hlasitost, ak je time>=22:00 && time <=6:00
  5. Paci sa :)

Casy som pouzil podla domoveho poriadku v nasom panelaku :P

 
Nahoru Odpovědět  +1 4.10.2013 15:55
Avatar
dbarvik
Člen
Avatar
dbarvik:

ok díky. zkusím pohledat jak zjistit ten systémový čas a pak něco o té hlasitosti. ale jinak díky za radu ;)

 
Nahoru Odpovědět 4.10.2013 16:07
Avatar
mariaanko
Člen
Avatar
mariaanko:

je to inac vyborny napad, lebo vcera mi sused zakrical:"TIC­HO!!!!" cez stenu :D

 
Nahoru Odpovědět 4.10.2013 16:18
Avatar
TomBen
Redaktor
Avatar
Odpovídá na mariaanko
TomBen:

Normálně se to řeší sluchátkama.
Vůbec pak neslyšíš, co řve soused. :D

Nahoru Odpovědět  +4 4.10.2013 16:21
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na dbarvik
Jan Vargovský:

Systém zjistíš pomocí DateTime.Now ... a na ten čas budeš potřebovat extern metodu :)

 
Nahoru Odpovědět 4.10.2013 16:23
Avatar
mariaanko
Člen
Avatar
Odpovídá na Jan Vargovský
mariaanko:

Ak budu nejake problemy, hod sem kod :P
Rad sa na to pozriem :)

 
Nahoru Odpovědět 4.10.2013 16:33
Avatar
dbarvik
Člen
Avatar
dbarvik:

ok, dneska večer nebo až zítra se na to vrhnu, takže uvidím co vytvořím ;). jinak je to projekt ovládání televize ve škole ;) chci aby o přestávkách to jelo na max, aby to bylo slyšet, a v hodinách aby se to ztišilo ;)

 
Nahoru Odpovědět 4.10.2013 17:08
Avatar
dbarvik
Člen
Avatar
dbarvik:

Tak jsem se do toho pustil a skončil jsem dřív než jsem čekal. zasekl jsem se u té podmínky zjišťování času. čas zjisti umím v pohodě, ale nějak nevím jak vytvořit tu podmínku. prostě aby mi to srovnávalo ty časy.

 
Nahoru Odpovědět 5.10.2013 22:47
Avatar
Odpovídá na dbarvik
Jiří Šedý (jsedy7):

S C# nepracuji, ale co přiřazovat zjištěný čas do proměnné, poté porovnávat v podmínce tu hodnotu v proměnné se zadanou hodnotou času, kdy třeba hlasitost zvuku má být nižší?
Vidím to v tom, že nejspíš neumíš v C# podmínky. Až přijdeš na to jak je používat a budeš je umět používat, tak tvůj úkol hravě vyřešíš. http://www.itnetwork.cz/…ni-if-switch

Editováno 7.10.2013 8:24
Nahoru Odpovědět 7.10.2013 8:23
Musíš se mnoho učit, abys poznal, že málo víš...
Avatar
dbarvik
Člen
Avatar
dbarvik:

jo díky za odpověď, už jsem na to včera přišel jak porovnávat ty časy. měl jsem nejdřív problém s vytvořením dané proměnné ale už je to v pohodě podmínky mi fungují. teď akorát ještě hledám nějaký způsob jak ovládat hlasitost. co jsem většinou našel na netu, tak to stejně nefungovalo.

 
Nahoru Odpovědět 7.10.2013 10:16
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 7.10.2013 10:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Nahoru Odpovědět 7.10.2013 10:46
"Be the change you want to see in the world" - Michael Scofield
Avatar
dbarvik
Člen
Avatar
dbarvik:

jo díky. Taky jsem se dostal na ty stránky stackoverflow­........ ale když jsem ten kód zkoušel tak někde se musela stát chybka. právě tímhle se chci ještě dál zabývat, tak uvidím k čemu dojdu. jinak taky zkusím pohledat jestli to tady na foru ještě nenajdu.

 
Nahoru Odpovědět 7.10.2013 16:55
Avatar
Odpovídá na dbarvik
David Jančík [sczdavos]:

A je to nějaký CoreAudioApi, když si stáhneš clockwork nebo wakeworker tak tam ta knihovna je. Funguje to od Vist nahoru. Si to vygoogli třeba je někde novější verze.
https://www.dropbox.com/…AudioApi.dll

MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();
MMDevice device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);

// dobrý je to potom ještě čeknou, někdy se stane, že se to nepodaří
// nastavit, já tam ve wakeworkeru mám cyklus co to zkouší nastavit
// dokud se mu to nepovede a pokud mu to ani po chvíli nejde, tak se
// na to vyprdne a napíše že to nejde, ale to se mi zatím nestalo
device.AudioEndpointVolume.Mute = true/false;
device.AudioEndpointVolume.MasterVolumeLevelScalar = (float)0-1;
Editováno 7.10.2013 20:22
Nahoru Odpovědět  +1 7.10.2013 20:20
Čím více času dostaneš, tím méně ho máš.
Avatar
dbarvik
Člen
Avatar
Odpovídá na David Jančík [sczdavos]
dbarvik:

díky, ale mám menší problém s importováním knihovny. když to udělám

[DllImport("CoreAudioApi.dll")]

tak mi to vypíše chybu: Error 1 Attribute 'DllImport' is not valid on this declaration type. It is only valid on 'method' declarations.

Nejsem takový profík v C#, takže s importováním nových knihoven jsem ještě nic nedělal. A rád bych se to naučil ;)

 
Nahoru Odpovědět 8.10.2013 20:03
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na dbarvik
Jan Vargovský:

Takhle ne. Přidáš si referenci na to .dll skrz References v Solution Exploreru. Pak si jen přidáš using a můžeš to využívat :)

 
Nahoru Odpovědět 8.10.2013 20:06
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na dbarvik
David Čápka:

DllImport se píše před metodu, když je z externí knihovny.

Nahoru Odpovědět 8.10.2013 20:37
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
dbarvik
Člen
Avatar
dbarvik:

Omlouvám se že zase otravuju, ale vyskytl se mi problém > There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "CoreAudioApi, Version=2.0.0.0, Culture=neutral, processorArchi­tecture=x86", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. Jinak když jsem do kódu napsal tohle

MMDeviceEnumerator DevEnum = new MMDeviceEnumerator();

tak bez problému ale když jsem psal

MMDevice device = DevEnum.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);

tak mi to házelo > A field initializer cannot reference the non-static field, method, or property 'ovladani_hla­sitosti.Form1­.DevEnum' a podtrhlo mi to z toho druhého řádku DevEnum

 
Nahoru Odpovědět 8.10.2013 21:36
Avatar
dbarvik
Člen
Avatar
dbarvik:

Tak problém co jsem zde psal před " chvilkou " se mi podařilo vyřešit ;)

 
Nahoru Odpovědět 8.10.2013 22:37
Avatar
dbarvik
Člen
Avatar
dbarvik:

Tak program už funguje. Jen se snažím o nějaké dodělávky. Sekl jsem se u toho že nevím jak nastavit čas

DateTime cas = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 21, 37, 00);

takhle mi to funguje, ale když jsem se snažil nějak načíst čas, který bych zadal přímo do okna programu, tak neúspěch. Chtěl bych něco ve stylu > z textboxu načíst (po kliknutí tlačítka) hodnotu do proměnné (Hodiny, Minuty) a pak mít to nastavení času

DateTime cas = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, Hodiny, Minuty, 00);

Poradil by mi někdo jak tohle vyřešit?

Editováno 9.10.2013 21:52
 
Nahoru Odpovědět 9.10.2013 21:52
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na dbarvik
Jan Vargovský:

Aktuální čas nastaviš jednoduše:

DateTime cas = DateTime.Now;

A jestli chceš zadat čas od uživatele, tak použij komponentu DateTimePicker. Ta má jednoduše vlastnost Value a ta ti vrací to datum, co tam je.

 
Nahoru Odpovědět 9.10.2013 22:23
Avatar
dbarvik
Člen
Avatar
dbarvik:

Já nepotřebuji aktuální čas, potřebuji aby se mi načítal čas který zadám do pragramu. Tak že když bude potřeba tak ho změním.

 
Nahoru Odpovědět 9.10.2013 22:44
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na dbarvik
Jan Vargovský:

Vždyť říkám ať nato použiješ DateTimePicker.

 
Nahoru Odpovědět 9.10.2013 22:52
Avatar
dbarvik
Člen
Avatar
dbarvik:

ok, díky. zítra vyzkouším,

 
Nahoru Odpovědět 9.10.2013 23:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 25 zpráv z 25.