Wiem jak nagrywać dzwięk, tylko mam problem mianowicie:
Dźwięk chce zapisać co 10 sek. do jednego pliku kasując wcześniejszą zawartośc,lecz gdy nagrywam to dzwięk jest "dogrywany" do pliku.
Czy można jakoś skasować wcześniejszą zawartość pliku?
może po prostu skasuj plik :/
Nie mogę gdyż mediaplayer potem nie może odnaleźć pliku :/
skasuj i stworz nowy, pusty.
Tylko jak?? Czy nie da się <ort>po prostu</ort> wyczyścić zawrtości wava przez mediaplayer??
najprostsze rozwiązanie są najlepsze więc "wyczyść plik źródłowy" (czy jak tam to sie nazywa w MediaPlayer'ze) usuń stary, zrób nowy i znów załaduj do mediaplayera i git :]
tylko jak zrobić nowy wav z poziomu delphi??
createfile?
metod jest cala masa.
robię createfile('temp.wav'); i nie chce kompilować
Pisalem ale jakos nie widze swojego posta ;(
W MediaPlayerze masz takie cos jak :: FileName np.:
MediaPlayer.FileName := 'nazwa_pliku.wav';
// Bo to nie o to chodzi - Q
jak sie tworzy plik metodą createfile?
createfile ma zdaje się dużo parametrów i w tej sytuacji kompletnie nieprzydatnych, łatwiej będzie jak dasz AssignFile, Rewrite, CloseFile i typ File do tego
ale prościej (jakbyś miał jeszcze jakieś problemy) - weź sobie zrób plik pusty wav o nazwie "pusty.wav" i ten do którego nagrywasz "plik.wav" w timerze co 10 sekund, stopujesz mediaplayera czy coś tam, kasujesz plik (deletefile('plik.wav')), kopiujesz pusty na jego miejsce (copyfile('pusty.wav','plik.wav',false)) i wznawiasz nagrywanie
zresztą zdaje się że mediaplayer musi mieć pusty plik utworzony w innym programie z tymi nagłówkami wave'a ale nie jestem pewien
Aby móc nagrywać musisz otworzyć istniejący plik o parametrach do nagrywania, żadne Createfile bo to tworzy pusty plik o roszerzeniu wav, który w ogóle nie będzie zgodny ze specyfikacją (pusty plik wave też ma jakiś nagłówek, choćby dane o formacie dźwięku co nie?).
Robisz tak:
Button 1 (nagrywanie)
with MediaPlayer1 do
begin
FileName := '{nazwa pliku gotowego wave, nie musi byc pusty}'
Wait:=False;
StartRecording;
end;
Button 2 (stopowanie)
with MediaPlayer1 do
begin
Stop;
FileName := '{nazwa pliku na który nagrywamy, moze być nowy'
Save;
Close;
end;
mrk:
Wiem jak nagrywać dzwięk, tylko (...)
Adamo:
zresztą zdaje się że mediaplayer musi mieć pusty plik utworzony w innym programie z tymi nagłówkami wave'a ale nie jestem pewien
Cool_programming:
Button 1 (nagrywanie)
with MediaPlayer1 do
begin
FileName := '{nazwa pliku gotowego wave, nie musi byc pusty}'
Wait:=False;
StartRecording;
end;
Button 2 (stopowanie)
with MediaPlayer1 do
begin
Stop;
FileName := '{nazwa pliku na który nagrywamy, moze być nowy'
Save;
Close;
end;
:/