語音MP3 |
尚未結案
|
dickhomepage
一般會員 發表:14 回覆:5 積分:3 註冊:2005-01-18 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
|
dickhomepage
一般會員 發表:14 回覆:5 積分:3 註冊:2005-01-18 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
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 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |