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

語音MP3

尚未結案
dickhomepage
一般會員


發表:14
回覆:5
積分:3
註冊:2005-01-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-19 00:40:02 IP:218.165.xxx.xxx 未訂閱
請問大家為什麼我寫出來的東西開檔載入MP3後雖然可以撥放出聲音 可是為什麼會有雜音或間間斷斷呢???
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-19 10:10:11 IP:220.130.xxx.xxx 未訂閱
dickhomepage: 你好.不知道你是使用何種方式做MP3播放的. 小弟試過利用DirectX的DirectShow來做MP3播放器. 結果還不錯.你可以試試看..
dickhomepage
一般會員


發表:14
回覆:5
積分:3
註冊:2005-01-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-19 20:27:11 IP:220.142.xxx.xxx 未訂閱
謝謝李大哥的指教,我是用BCB6.0所做的播放器
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-21 10:32:28 IP:220.130.xxx.xxx 未訂閱
dickhomepage: 你是指用BCB內附的MediaPlayer元件嗎? 如果是的話建議你改成DirectShow來做.    範例如下
IGraphBuilder   *pGraph = NULL;
IMediaControl   *pMediaControl = NULL;
IMediaPosition  *pMediaPosition = NULL;
IMediaSeeking   *pMediaSeeking = NULL;
IBasicAudio     *pBasicAudio = NULL;
__int64         g_rtTotalTime;
//---------------------------------------------------------------------------
void __fastcall TForm1::CreateDShow()
{
  CoInitialize(NULL);
  CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
        IID_IGraphBuilder, (void **)&pGraph);
  pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
  pGraph->QueryInterface(IID_IMediaPosition,(void **)&pMediaPosition);
  pGraph->QueryInterface(IID_IMediaSeeking, (void **)&pMediaSeeking);
  pGraph->QueryInterface(IID_IBasicAudio,(void **)&pBasicAudio);    }
//---------------------------------------------------------------------------
void __fastcall TForm1::DeleteDShow()
{
 if (pMediaControl != NULL) pMediaControl->Stop();
 if (pGraph != NULL)  pGraph->Release();
 if (pMediaControl != NULL) pMediaControl->Release();
 if (pMediaPosition != NULL) pMediaPosition->Release();
 if (pMediaSeeking != NULL) pMediaSeeking->Release();
 if (pBasicAudio !=NULL) pBasicAudio->Release();
 pGraph = NULL;
 pMediaControl = NULL;
 pMediaPosition = NULL;
 pMediaSeeking = NULL;
 pBasicAudio = NULL;
 CoUninitialize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonPlayClick(TObject *Sender)
{
 Word Hour,Min,Sec,MSec;
 WideString wFileName;
  __int64 TotalPos,StartPos;
 wFileName =(WideString)ListBox1->Items->Strings[ListBox1->ItemIndex];//檔名
 DeleteDShow();
 CreateDShow();
 pGraph->RenderFile(wFileName,NULL);
 pMediaSeeking->GetDuration(&g_rtTotalTime);
 ScrollBar1->Max = g_rtTotalTime / 1000;
 TotalPos = g_rtTotalTime;
 TotalPos /= 10000;
  Min = TotalPos / 60000;
  TotalPos = TotalPos - (Min * 60000);
  Sec = TotalPos / 1000;
  TotalPos = TotalPos - (Sec * 1000);
  LblShowTotal->Caption =FormatFloat("00",Min)  ":"    FormatFloat("00",Sec)  "."   FormatFloat("000",TotalPos);
  pMediaControl->Run();
}
//---------------------------------------------------------------------------
dickhomepage
一般會員


發表:14
回覆:5
積分:3
註冊:2005-01-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-21 21:31:51 IP:218.165.xxx.xxx 未訂閱
李大哥:那BCB裡頭的MEDIAPLAYER沒辦法辦到撥放MP3時不出現雜音嗎?? 發表人 - dickhomepage 於 2005/01/21 21:42:19
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-22 03:54:59 IP:220.130.xxx.xxx 未訂閱
dickhomepage: 你試試看利用Windows所附的MediPlayer程式來撥放你的MP3.看看是不是正常. 理論上.bcb中的MediaPlayer所撥放出來的效果會跟Windows所附的MediaPlayer程式效果一樣. 如果不行.你可以將MediaPlayer作更新.. 可以參考下列資料 http://delphi.ktop.com.tw/topic.php?topic_id=26810 http://delphi.ktop.com.tw/topic.php?topic_id=35227 http://delphi.ktop.com.tw/topic.php?topic_id=60481
引言: 李大哥:那BCB裡頭的MEDIAPLAYER沒辦法辦到撥放MP3時不出現雜音嗎?? 發表人 - dickhomepage 於 2005/01/21 21:42:19
系統時間:2024-11-26 8:09:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!