全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2790
推到 Plurk!
推到 Facebook!

關於MediaPlaer的錄音問題

答題得分者是:領航天使
biau
一般會員


發表:25
回覆:32
積分:21
註冊:2003-02-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-16 22:52:06 IP:163.28.xxx.xxx 未訂閱
我使用MediaPlayer錄音的功能,每按一次錄音Button [1], MediaPlayer1->Length就增加一段,我只想保留最後錄進去那一段 之前錄的不要留在檔案內,請問以下寫法可不可以修正成我要的功能?? 錄音Button [1] =================================== MediaPlayer1->Open(); MediaPlayer1->AutoOpen=true; MediaPlayer1->FileName="C:\test.wav"; MediaPlayer1->DeviceType=dtWaveAudio; MediaPlayer1->StartPos=0; MediaPlayer1->StartRecording(); 停止錄音並存檔Button [2] =================================== float BreakPosition; BreakPosition=MediaPlayer1->Position; MediaPlayer1->EndPos=BreakPosition; MediaPlayer1->Stop(); MediaPlayer1->Save(); MediaPlayer1->Close();
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-17 08:18:18 IP:210.202.xxx.xxx 未訂閱
存檔時才給檔名 Mediaplayer1.filename:='c:\wav\' format('.4d',[spinedit1.value ]) '.wav'; Mediaplayer1.Save; Mediaplayer1.close; Mediaplayer1.filename:=''; Mediaplayer1.open; 錄音時要Close Mediaplayer1.close; Mediaplayer1.filename:=''; Mediaplayer1.open; Mediaplayer1.Startrecording; 用的是Delphi的語法,請自行翻成BCB語法 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
biau
一般會員


發表:25
回覆:32
積分:21
註冊:2003-02-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-17 16:15:03 IP:163.28.xxx.xxx 未訂閱
首些感謝您回答我的問題,我試了一下無法運作 BCB在按下Button1後無法造出test20.wav檔 (我讓MediaPlayery在FORM出現,當按下Button1開始錄音時,MediaPlayery 上的STOP不會自動Enable) 不知道哪出了問題.... Button1--->錄音鍵 Button2--->錄音停止鍵 void __fastcall TForm1::Button1Click(TObject *Sender) { MediaPlayer1->Close(); MediaPlayer1->FileName=""; MediaPlayer1->Open(); MediaPlayer1->StartRecording(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { MediaPlayer1->FileName="test20.wav"; //Delphi內是MediaPlayer1->filename:="c:\wav\" format(".4d",[spinedit1.value]) ".wav";; MediaPlayer1->Save(); MediaPlayer1->Close(); MediaPlayer1->FileName=""; MediaPlayer1->Open(); }
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-17 18:51:46 IP:210.202.xxx.xxx 未訂閱
引言: 首些感謝您回答我的問題,我試了一下無法運作 BCB在按下Button1後無法造出test20.wav檔 (我讓MediaPlayery在FORM出現,當按下Button1開始錄音時,MediaPlayery 上的STOP不會自動Enable) 不知道哪出了問題.... Button1--->錄音鍵 Button2--->錄音停止鍵 void __fastcall TForm1::Button1Click(TObject *Sender) { MediaPlayer1->Close(); MediaPlayer1->FileName=""; MediaPlayer1->Open(); MediaPlayer1->StartRecording(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { MediaPlayer1->FileName="test20.wav"; //Delphi內是MediaPlayer1->filename:="c:\wav\" format(".4d",[spinedit1.value]) ".wav";; MediaPlayer1->Save(); MediaPlayer1->Close(); MediaPlayer1->FileName=""; MediaPlayer1->Open(); }
好奇怪, 我之前的程式都是這樣寫都可以正常Work, 現在測試怎結果與您相同? 我再試看看? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-17 21:39:12 IP:210.202.xxx.xxx 未訂閱
我試過了 要先做一個空的WAV檔.如empty.wav檔 open前要先載入 開始錄 Mediaplayer1.close; Mediaplayer1.filename:='c:\empty.wav'; Mediaplayer1.open; Mediaplayer1.Startrecording; 存檔 Mediaplayer1.filename:='c:\test.wav'; Mediaplayer1.Save; Mediaplayer1.close; Mediaplayer1.filename:='c:\empty.wav'; Mediaplayer1.open; Delphi的語法請自行改為BCB ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
biau
一般會員


發表:25
回覆:32
積分:21
註冊:2003-02-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-18 13:11:48 IP:163.28.xxx.xxx 未訂閱
已經解決錄音的問題了!!!謝謝你..... 不過我在執行階段要如何產生(用TMediaPlayer)test.wav這樣空的WAV檔 因為我在完成這個Form後,會將這個Form後裝成ActiveX的元件 放在Server上,供user連結進入..... 因為剛入門,問的問題不成熟還請見諒!!多次承蒙協助,謝謝
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-18 21:41:26 IP:210.202.xxx.xxx 未訂閱
引言: 已經解決錄音的問題了!!!謝謝你..... 不過我在執行階段要如何產生(用TMediaPlayer)test.wav這樣空的WAV檔 因為我在完成這個Form後,會將這個Form後裝成ActiveX的元件 放在Server上,供user連結進入..... 因為剛入門,問的問題不成熟還請見諒!!多次承蒙協助,謝謝
這個我也還不會, 也是我傷腦筋的地方, 我再想辦法試看看! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-19 10:02:11 IP:61.231.xxx.xxx 未訂閱
引言: 已經解決錄音的問題了!!!謝謝你..... 不過我在執行階段要如何產生(用TMediaPlayer)test.wav這樣空的WAV檔 因為我在完成這個Form後,會將這個Form後裝成ActiveX的元件 放在Server上,供user連結進入..... 因為剛入門,問的問題不成熟還請見諒!!多次承蒙協助,謝謝
要由程式產生空的WAV檔很簡單,您可以先將現有的 test.wav 這樣的「空WAV檔」在 DOS 模式下執行: tdump test.wav >test.bin 這樣就會產生文字檔的 test.bin 其內容是 test.wav 轉成 ASCII 的型式,再加工後(取中間 16 進制)作成 char szTestWav[]={0x01, 0x02, 0x03,...}; 的一個大陣列放在您的 code 中,執行時可以利用 fopen 等函式或 TFileStream/TMemoryStream 將這個陣列存檔。 如果覺得 tdump 產出的結果不好處理,也可以自己寫一個。 沒空更新的網頁... http://coolsite.to/dllee C及指標教學,計算機概論,資訊管理導論... http://home.kimo.com.tw/dllee.tw http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-03-19 10:20:32 IP:61.231.xxx.xxx 未訂閱
今天正好有空檔,就順手寫了一個,反正自己也常常在用,以前我都是使用漢書來自動轉的,現在自己寫一個來轉也是蠻方便的。 參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27279    沒空更新的網頁... http://big5.to/吃軟也吃硬 C及指標教學,計算機概論,資訊管理導論... http://home.kimo.com.tw/dllee.tw http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-03-19 19:38:46 IP:210.202.xxx.xxx 未訂閱
引言: 今天正好有空檔,就順手寫了一個,反正自己也常常在用,以前我都是使用漢書來自動轉的,現在自己寫一個來轉也是蠻方便的。 參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27279 沒空更新的網頁... http://big5.to/吃軟也吃硬 C及指標教學,計算機概論,資訊管理導論... http://home.kimo.com.tw/dllee.tw http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
感謝分享 請問是不是可以用將.wav產生為資源檔 再將資源檔加入.EXE執行檔中 再由程式從自身的資源資料中讀出??? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
dllee
站務副站長


發表:321
回覆:2519
積分:1711
註冊:2002-04-15

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-03-20 09:43:39 IP:61.231.xxx.xxx 未訂閱
引言: 感謝分享 請問是不是可以用將.wav產生為資源檔 再將資源檔加入.EXE執行檔中 再由程式從自身的資源資料中讀出??? ~~~Delphi K.Top討論區站長~~~
報告天使大人,使用資源檔也是可以的,站內已有多篇文章討論使用資源檔放入怪東東 < > 陣列的方法算是老舊比較不需要技術的方法,在沒有資源檔的環境中也可以使用 ... 沒辦法,這已經小弟慣用的老方法... 雖然知道資源檔也可以用,但是總是不會第一個想到它 < > 沒空更新的網頁... http://big5.to/吃軟也吃硬 C及指標教學,計算機概論,資訊管理導論... http://home.kimo.com.tw/dllee.tw http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com
系統時間:2024-04-27 3:48:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!