[Delphi] Nakładanie WAVE

0

W jaki piekielny sposobik za pomocą funkcji tak wygodnej jak PlaySound z MMSytem odtwarzać pliki wav z pliku lub załadowane do PChar w taki sposób, żeby nie urywało nakładających się plików, ale aby się one nakładały.

Dzięki wszystkim za HLP-A

i sorry, że wyrażam się trochę niejasno

0

Zaraz pewnie ktoś to skomentuje, no ale nieważne. Możesz skorzystać z TMP3 ze źródeł PilotMP3 (link w stopce). Obsługuje WAV, MP3, OGG, WMA i parę tam jeszcze innych. Żeby nakładać na siebie piosenki stwórz drugi obiekt typu TMP3 i graj :].

0

możesz tez użyć bass.dll zamiast playsound. możesz też zmiksować wavy samodzielnie, np w jeden z 3 sposobów wskazanych kiedyś przeze mnie: http://4programmers.net/Forum/4495 i odegrac mix przy pomocy playsound

Tamte sposoby działają tylko z wavami w postaci kanonicznej, link do funkcji m.in. konwertującej wavy do postaci kanonicznej jest z kolei tu: http://4programmers.net/Forum/199520

0

pq: TMP3 opiera się na bassie, jest tylko jakby "interfejsem" do bassa. Tzn. pozwala na nie przejmowanie się wszelkimi uchwytami, ustawieniami itp., nie wymaga używania tych dzikich nazw funkcji i procedurk, tylko to wszystko zbiera w jeden prosty w obsłudze komponencik.
//Dopisane: A o to chodziło autorowi wątku, żeby prosto się obsługiwało.

//aha. człowiek uczy się całe życie :-). pq

0

sorry za off topic, ale:

Skoro avatar ma graficzne ograniczenia - ja znalazłem rozwiązanie

i co to za rozwiązanie wymyśliłeś ?? Gifa ? ;P Jakież to twórcze

0

Nie gif'a (którego można w avatarze wstawić), tylko stopka (jako, że jego "avatar" jest szerszy od maksymalnej szerokości). EOT

0

No właśnie, poza tym usunąłem tę notkę, bo już ją przeczytaliście

Ja bym to wolał robić bez dwóch TMP3, a poza tym nie udało mi się tego TMP3 zainstalować :/

Czym sa wawy w postaci kanonicznej?
Po prostu taki array z punktami sinusoid?
Bardzo przydatne :d

A propós ile to zajmuje czasu?</ort>

0

Jak chodzi o niemożność zainstalowania TMP3 - u niektórych się tak dzieje, szczerze mówiąc nie wiem czemu. Ale zawsze możesz po prostu jako klasę to wziąć, nie koniecznie jako komponent. I dynamicznie sobie tworzysz. To była taka propozycja, nikogo nie zmuszam do korzystania z tego :].

0

Dzięki serdeczne.

Po prostu do zainstalowania komponentu jest potrzebny .dpk a takiego za chol**ę nie mogę utworzyć.

A chodziło mi o to, że tworzę coś w rodzaju gry (na razie tylko prototypy) i tam dżwięki muszą być równolegle

0

Zamiast tak kombinować, plecam zajrzeć do Microsoft Multimedia Programmer's Reference i przyjrzec się flagom dla:

PlaySound(nazwa, moduł, flagi);

Szczególnie przydatna może się okazać:

SND_NOSTOP

. Oto wyciąg z tej dokumentacji:

The specified sound event will yield to another sound event that is already playing. If a sound cannot be played because the resource needed to generate that sound is busy playing another sound, the function immediately returns FALSE without playing the requested sound.

If this flag is not specified, PlaySound attempts to stop the currently playing sound so that the device can be used to play the new sound.

1 użytkowników online, w tym zalogowanych: 0, gości: 1