Zmiana głosności "Master volume"

Zmiana głosności "Master volume"
0

Jak zmienić za pomoca kawałka kodu głośność dzwieków w systemie tzw. "Master volume"

No próbowałem WaveOutSetVolume ale to zmienia tylko "Wave"

Próbowałem auxSetVolume(UINT(5), ...) ale to w ogolę nie działa.
Testowałem na windows 7 i XP

unikalna_nazwa
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 10 lat
0

ten kod zadziała pod xp
pod nowsze systemy: http://stackoverflow.com/questions/3437050/how-to-adjust-master-volume-in-vista-xp

btw - czemu chcesz komuś zmieniać master volume? bardzo nieładnie


Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
edytowany 1x, ostatnio: unikalna_nazwa
flowCRANE
Pewnie dla dobra użytkownika, żeby słuch oszczędzał ;)
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
1

Do tego posta dołączyłem dwa proste programy z kodem źródłowym i exekami. Stworzone pod Delphi 7. W archiwum volume.rar jest kod, który działał - z tego co pamiętam mi jeszcze bez problemów pod Windows XP, ale wieki go nie uruchamiałem. Na moim Windows 7 Ultimate 64 bit, jednak nie działa w ogóle. Oczywiście taki lamer jak ja sam by go nie wymyślił, było to wygooglowane kiedyś.

Natomiast w załączniku volume_windows_7.rar jest kod, który polecił tutaj @unikalna_nazwa wraz z wygooglowanymi modułami i odpowiednim rzutowaniem typu na IInterface, bo inaczej kod podany w google się nie kompilował u mnie.

Mimo usilnych starań i mozolnego przetłumaczenia kodu z C++ na stronie: http://www.codeproject.com/Tips/233484/Change-Master-Volume-in-Visual-Cplusplus i różnych kombinacji nie udało mi się aby funkcja GetMasterVolumeLevel zwrociła mi w zmiennej coś innego niż zero lub po początkowych ustawieniach volume na wartości poza zakresem od 0.0 do 1.0 (takie są właściwe z tego co zauwazyłem). Dałem jak w kodzie z volume.rar, głośnośc na 65535.0 i wtedy ta funkcja GetMasterVolumeLevel zwróciła mi -64. Czyli niby coś tam działa. Ale nie umiem zmusić tego do odczytania prawidłowej głośności czyli na przykład dla 100% - 1.0 i tym podobnych. Może ktoś z Was ma sprawdzony pod Delphi 7 kod, który działa. Fajnie było by to mieć ogarnięte na przyszłośc. Żeby też odczytać głośność. Bez używania choćby bass.dll, bo to za pewne jedna z alternatywnych metod.

A i wiadomo, że nie ma co userowi na chama ustawiać master volume, ale jeżeli nie robi się to za jego plecami i daje mu informację, której będzie świadom to nie widzę problemu. Po to chyba między innymi powstały te interface'y i metody aby móc z nich skorzystać. Jak ktoś z Was wpadnie jak ustalić głośnośc "masterową" przy użyciu interface'ów z tych modułów, które dołaczyłem do volume_windows_7.rar archiwum, to dajcie proszę znać. Wtedy można było by dopracować program, tak aby przy starcie ustawił pasek przewijania na odpowiednią pozycję względem takiej wartości procentowej jaką mamy aktualnie w systemie. W kodzie z volume.rar i kiedyś pod XP, o ile pamiętam to działało mi raczej bez większych problemów.


Pozdrawiam.
0

Przetestowałem przykład "7" w windows "8" i też działa OK.
Chce zmienić "master volume" bo moj program bedzie powłoką na komputerze i nie bedzie dostepu do panelu sterowania czy paska zadań ;)

A ja mam pytanie odnośnie skryptu
build.bat

Co musi być ustawione aby projekt sie kompilował , wszak kompilator musi wiedzieć gdzie sa pliki DCU wiec na poczatek krzyczy o brak forms.DCU

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
0

Plik build.bat jest robiony pod kątem moich preferencji i Delphi 7. Builduje się nim i pakuje UPX'em projekty bez problemów. Testowane wielokrotnie w wielu moich projektach. Ale możesz zrobić to po swojemu. Nie powinno nic "krzyczeć" o brak forms.dcu - to moduł dostępny w domyślnej ścieżce. Używam w swoich projektach podkatalogu DCU żeby mi przy kompilacji z pod IDE, gdzie nie usuwam *.dcu nie zaśmiecało katalogu z projektem. Oczywiście ścieżkę do katalogu z outputem dla skompilowantch unitów i inne ustawienia - możesz sobie pozmieniać w opcjach projektu, wedle swoich upodobań. Pozostaje jednak nadal kwestia prawidłowego odczytania aktualnie ustawionego poziomu głośności przy starcie programu. Może ktoś z Was wie, co może być nie tak, że zmienna zwraca prawie zawsze zero. Lub w jednym z przypadków, jak wspomniałem zwróciła -64 przy przekroczeniu zakresu.


Pozdrawiam.
edytowany 1x, ostatnio: olesio
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)