Strona 2 z 2

Re: Nagrywanie

: 10 maja 2012 12:07
autor: bilbo
Już tak robiłem, no i mi nie działało... nie wiem co robię źle

Re: Nagrywanie

: 10 maja 2012 13:56
autor: smiga
Wrzuć wszystko co masz po prawej stronie pętli (cały zapis) do środka, do jednego Event'a z jednym konkretnym przyciskiem i sprawdź czy po kliknięciu na ten przycisk zapisze dźwięk.
Jeżeli zapisze to rozwiązanie jest proste - tunel wychodzący z pętli przekazuje ostatnią daną, a to widocznie nie jest dźwięk tylko pusty Waweform bo widzę, że tunel wychodzący z Event'a jest ustawiony jako Use Defalt if Unwired. W pętli While musisz wstawić rejestr i pamiętać muzykę graną przez każdy klawisz, a nawet więcej, musisz dodawać kolejne fragmenty z kolejnych iteracji i przetrzymywać w rejestrze... dokładnie tak jak ja to zrobiłem w przykładzie.

Jeżeli nie zadziała to prześlij swój kod (może być bez plików .wav)

Re: Nagrywanie

: 10 maja 2012 14:55
autor: bilbo
nagrał, ale szum...

Re: Nagrywanie

: 10 maja 2012 15:33
autor: smiga
6 pętli z czego tylko dwie są powiązane, a aż w trzech są Event'y... masakra jakaś :-) ... architektura programu jest po prostu zła =((
Zauważ, że ten program ma więcej problemów niż tylko zapis do pliku ... nie działa stabilnie.
Jak znajdę chwilkę, dłuższą niestety bo to wymaga posiedzenia :-), to zerknę na całość i coś podpowiem.

Nagrywanie

: 12 maja 2012 18:34
autor: bilbo
Super, dzięki bardzo za pomoc.
W takim razie z niecierpliwością czekam na podpowiedzi :)

Re: Nagrywanie

: 12 maja 2012 22:43
autor: smiga
NIestety nie mam za dużo czasu w tym tygodniu ... wyjazdy ... ale załączam szybkie poprawki - działa zapis do pliku przy naciśnięciu P.
Resztę zrób analogicznie wyrzucając zapis poza Case'a i dokładając wszystkie dźwięki oraz trzymając w rejestrze (jak pisałem wcześniej i pokazałem w przykładzie)
Wywaliłem też niepotrzebne pętle.

Re: Nagrywanie

: 18 maja 2012 14:59
autor: bilbo
Dzięki za pomoc. Kilka pętli było potrzebnych, aby np. niezależnie był podkład dźwiękowy i granie na klawiaturze :D
Nagrywanie działa - potrzebna była konwersja plików dźwiękowych z wav ogg na wav pcm, ALE nagrywa po kolei każdy plik dźwiękowy, czyli 2 sek utwór.
Stworzyłam timer, który liczy czas wciśnięcia guzika. Chcę tą wartość przekazać z pętli while mapującej klawiaturę, do pętli ustawiającej zdarzenia na klawisze, aby odtworzyć utwór przez czas, który pobiorę z timera.
Jak tą wartość przekazać i w jaki sposób zmusić plik wav do grania przez ten wyznaczony czas?

Re: Nagrywanie

: 19 maja 2012 22:15
autor: smiga
Zmodyfikowany kod poniżej, który ściągnąłem stąd:
http://decibel.ni.com/content/docs/DOC-19164
... odpal podając jakąś ścieżkę do pliku i zobacz jak działa i nagrywa.

Re: Nagrywanie

: 22 maja 2012 12:31
autor: bilbo
Na podstawie tego programu nie potrafię rozwiązać problemu z nagrywaniem w swoim, używam plików wav i klawiatury do grania. Może jakaś bardziej szczegółowa podpowiedź?
Załączam plik jak to wszystko wygląda. W pętli u góry mierzę czas wciśnięcia klawisza na klawiaturze. Chcę ten czas przekazać do miejsca w którym odtwarzam plik wav.

Re: Nagrywanie

: 26 maja 2012 23:38
autor: smiga
Niestety mało mam ostatnio czasu na pisanie na forum ... ale tak na szybko, jeżeli chcesz przekazać kolejką także czas wciśnięcia klawisza, to stwórz sobie kolejkę, której typem danych będzie klaster składający się z numeru klawisza (jak aktualnie) + czas jego wciśnięcia.
Powiem szczerze, nie wiem czy nie łatwiej byłoby wyrzucić z pierwszej pętli strukturę Event i zrobić tak jak w ostatnim przesłanym przykładzie bez Event'a - poeksperymentuj.