NXC dźwięki: Różnice pomiędzy wersjami
(Nie pokazano 11 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
Opisując wcześniej [[NXC instrukcje warunkowe i pętle]] użyliśmy poleceń odnoszących się do dźwięków, teraz zostanie to dokładniej wyjaśnione. | Opisując wcześniej [[NXC instrukcje warunkowe i pętle]] użyliśmy poleceń odnoszących się do dźwięków, teraz zostanie to dokładniej wyjaśnione. | ||
+ | |||
+ | __FORCETOC__ | ||
==Odgrywanie dźwięków== | ==Odgrywanie dźwięków== | ||
Linia 20: | Linia 22: | ||
Przykłady zastosowania <code>PlaySound(acode);</code> są w zlinkowanym wyżej temacie, więc nie będę się powtarzać | Przykłady zastosowania <code>PlaySound(acode);</code> są w zlinkowanym wyżej temacie, więc nie będę się powtarzać | ||
+ | |||
+ | ==Odtwarzanie z pliku== | ||
+ | |||
+ | Służy do tego polecenie <code>PlayFile("Nazwa_pliku.rso")</code> | ||
+ | |||
+ | <pre> | ||
+ | task main() | ||
+ | { | ||
+ | PlayFile("Woops.rso"); | ||
+ | Wait(3000); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Można też użyć polecenia <code>PlayFileEx("Nazwa_pliku.rso", głośność 0-4, pętla TRUE FALSE);</code> | ||
+ | |||
+ | <pre> | ||
+ | task main() | ||
+ | { | ||
+ | PlayFileEx("startup.rso", 3, true); | ||
+ | Wait(3000); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Oczywiście trzeba wcześniej wgrać plik .rso do pamięci. W BricxCC robimy to poprzez Tools => NXT explorer. Możemy też konwertować pliki do formatu .rso poprzez Tools => Sound conversion. | ||
+ | |||
+ | ==Odgrywanie tonów== | ||
+ | |||
+ | Najpierw posłużymy się poleceniem <code>PlayTone(frequency, duration)</code>, czyli podajemy ''częstotliwość z hz'' oraz ''czas trwania''. | ||
+ | |||
+ | <pre> | ||
+ | task main() | ||
+ | { | ||
+ | PlayTone(440, 400); | ||
+ | Wait(500); | ||
+ | PlayTone(294, 400); | ||
+ | Wait(500); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Poniżej częstotliwości (frequency) i odpowiadające im dźwięki | ||
+ | |||
+ | <pre> | ||
+ | dźwięk 3 4 5 6 7 8 9 | ||
+ | B 247 494 988 1976 3951 7902 | ||
+ | A# 233 466 932 1865 3729 7458 | ||
+ | A 220 440 880 1760 3520 7040 14080 | ||
+ | G# 415 831 1661 3322 6644 13288 | ||
+ | G 392 784 1568 3136 6272 12544 | ||
+ | F# 370 740 1480 2960 5920 11840 | ||
+ | F 349 698 1397 2794 5588 11176 | ||
+ | E 330 659 1319 2637 5274 10548 | ||
+ | D# 311 622 1245 2489 4978 9956 | ||
+ | D 294 587 1175 2349 4699 9398 | ||
+ | C# 277 554 1109 2217 4435 8870 | ||
+ | C 262 523 1047 2093 4186 8372 | ||
+ | </pre> | ||
+ | |||
+ | Można też użyć rozszerzonej wersji, czyli <code>PlayToneEx(frequency, duration, volume, loop)</code> | ||
+ | |||
+ | Głośność (volume) ma zakres 0-4 | ||
+ | |||
+ | Pętla (loop) przyjmuje wartości logiczne true albo false) | ||
+ | |||
+ | <pre> | ||
+ | task main() | ||
+ | { | ||
+ | PlayToneEx(262,400,3,FALSE); Wait(500); | ||
+ | PlayToneEx(294,400,3,FALSE); Wait(500); | ||
+ | PlayToneEx(330,400,3,FALSE); Wait(500); | ||
+ | PlayToneEx(294,400,3,FALSE); Wait(500); | ||
+ | PlayToneEx(262,1600,3,FALSE); Wait(2000); | ||
+ | } | ||
+ | </pre> | ||
[[Category:Lego Mindstorms]] | [[Category:Lego Mindstorms]] |
Aktualna wersja na dzień 12:51, 5 lut 2014
Opisując wcześniej NXC instrukcje warunkowe i pętle użyliśmy poleceń odnoszących się do dźwięków, teraz zostanie to dokładniej wyjaśnione.
Odgrywanie dźwięków
W temacie NXC instrukcje warunkowe i pętle użyliśmy polecenia PlaySound(acode);
przykładowo PlaySound(SOUND_DOUBLE_BEEP);
Poniżej lista aCode
aCode Resulting Sound cyfrowo SOUND_CLICK key click sound 0 SOUND_DOUBLE_BEEP double beep 1 SOUND_DOWN sweep down 2 SOUND_UP sweep up 3 SOUND_LOW_BEEP error sound 4 SOUND_FAST_UP fast sweep up 5
Można też posłużyć się cyframi od 0 do 5, np. PlaySound(1);
Przykłady zastosowania PlaySound(acode);
są w zlinkowanym wyżej temacie, więc nie będę się powtarzać
Odtwarzanie z pliku
Służy do tego polecenie PlayFile("Nazwa_pliku.rso")
task main() { PlayFile("Woops.rso"); Wait(3000); }
Można też użyć polecenia PlayFileEx("Nazwa_pliku.rso", głośność 0-4, pętla TRUE FALSE);
task main() { PlayFileEx("startup.rso", 3, true); Wait(3000); }
Oczywiście trzeba wcześniej wgrać plik .rso do pamięci. W BricxCC robimy to poprzez Tools => NXT explorer. Możemy też konwertować pliki do formatu .rso poprzez Tools => Sound conversion.
Odgrywanie tonów
Najpierw posłużymy się poleceniem PlayTone(frequency, duration)
, czyli podajemy częstotliwość z hz oraz czas trwania.
task main() { PlayTone(440, 400); Wait(500); PlayTone(294, 400); Wait(500); }
Poniżej częstotliwości (frequency) i odpowiadające im dźwięki
dźwięk 3 4 5 6 7 8 9 B 247 494 988 1976 3951 7902 A# 233 466 932 1865 3729 7458 A 220 440 880 1760 3520 7040 14080 G# 415 831 1661 3322 6644 13288 G 392 784 1568 3136 6272 12544 F# 370 740 1480 2960 5920 11840 F 349 698 1397 2794 5588 11176 E 330 659 1319 2637 5274 10548 D# 311 622 1245 2489 4978 9956 D 294 587 1175 2349 4699 9398 C# 277 554 1109 2217 4435 8870 C 262 523 1047 2093 4186 8372
Można też użyć rozszerzonej wersji, czyli PlayToneEx(frequency, duration, volume, loop)
Głośność (volume) ma zakres 0-4
Pętla (loop) przyjmuje wartości logiczne true albo false)
task main() { PlayToneEx(262,400,3,FALSE); Wait(500); PlayToneEx(294,400,3,FALSE); Wait(500); PlayToneEx(330,400,3,FALSE); Wait(500); PlayToneEx(294,400,3,FALSE); Wait(500); PlayToneEx(262,1600,3,FALSE); Wait(2000); }