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

如何寫一個將Audio CD轉成MP3的程式?

尚未結案
andy9204
一般會員


發表:2
回覆:3
積分:1
註冊:2004-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-14 13:12:39 IP:210.243.xxx.xxx 未訂閱
小弟最近要寫一個將Audio CD轉成MP3的程式 但卻不知從何著手.. 還請各位先進前輩不吝指點.給小弟一個方向 感激不盡....謝謝
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-16 11:48:13 IP:211.162.xxx.xxx 未訂閱
Hi,andy9204,您好! 如果要將Audio CD轉成MP3,可以考慮:Audio CD ------> Wav------>Mp3,具體的文件格式在網上有相關介紹 < class="code"> =============== 人生在勤,不索何获? =============== 發表人 - bigdogchina 於 2004/05/16 11:49:45
------
人生在勤,不索何获?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-16 17:22:30 IP:202.39.xxx.xxx 未訂閱
Converting WAV to MP3 and back: http://delphi.about.com/library/bluc/text/uc050501a.htm
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-19 13:24:01 IP:211.96.xxx.xxx 未訂閱
這個技術是要賣錢的,恐怕你要人家給你完整的解答,除非你把賣軟体的錢拿來分享才有可能了 給你個方向 抓CD上的音軌,畢竟音樂CD不是存二進位的格式資料,你沒辦法用很簡單的方法取得音軌,除非你走MCICOMMAND或SCSICOMMAND取得音軌的RAWDATA成WAV格式檔,方法不是很好寫,自己到google就可以找到解答了 WAV轉MP3的方法很多,比較簡單的就是用DIRECTSHOW的方法處理,這方法不會很複雜,只要有個MPEG Layer-3的encoder就可以做到,程式不用寫到幾行就可以完成,改天我會做個小範例,供大家參考如何把wav轉成mp3 藏私の禁止
andy9204
一般會員


發表:2
回覆:3
積分:1
註冊:2004-05-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-21 17:30:06 IP:211.23.xxx.xxx 未訂閱
感謝各位前輩的回答... 關於japhenchen所提到的,這技術可能要錢... 要錢也沒關係...至少小弟能有個管道取得此技術.. 那順便一提..有前輩寫過可以讀出audio cd裡的一些資訊 如:專輯名稱,曲名,演唱者之類的 就像MediaPlayer裡可讀到的資訊的一樣 感謝指點..^^
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-21 20:56:28 IP:211.162.xxx.xxx 未訂閱
andy9204,您好! 請您看看下面的這個例子,作用是獲取Audio CD的序列號,希望能對您解決問題有所啓迪!

uses
  MMSystem, MPlayer;     
procedure TForm1.Button1Click(Sender: TObject);
var
  mp : TMediaPlayer;
  msp : TMCI_INFO_PARMS; 
  MediaString : array[0..255] of char; 
  ret : longint;
begin 
  mp := TMediaPlayer.Create(nil); 
  mp.Visible := false; 
  mp.Parent := Application.MainForm; 
  mp.Shareable := true;
  mp.DeviceType := dtCDAudio; 
  mp.FileName := 'h:'; //H盤是我的光碟機
  mp.Open; 
  Application.ProcessMessages; 
  FillChar(MediaString, sizeof(MediaString), #0); 
  FillChar(msp, sizeof(msp), #0);
  msp.lpstrReturn := @MediaString; 
  msp.dwRetSize := 255;
  ret := mciSendCommand(Mp.DeviceId,
                        MCI_INFO, 
                        MCI_INFO_MEDIA_IDENTITY,
                        longint(@msp));
  if Ret <> 0 then
  begin 
    MciGetErrorString(ret, @MediaString, sizeof(MediaString));
    Memo1.Lines.Add(StrPas(MediaString));
  end 
  else
    Memo1.Lines.Add(StrPas(MediaString));
    mp.Close;
    Application.ProcessMessages;
    mp.free;
end;

===============
人生在勤,不索何获? 
===============
------
人生在勤,不索何获?
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-05-24 09:37:41 IP:211.96.xxx.xxx 未訂閱
一般的音CD里面是不可能存放有關CD的歌手資料、曲目,甚至歌詞(除非你買到的CD是MIXED-CD,也就是混有音軌跟資料軌一塊的片子,為了避免CD機讀不到,資料軌都是擺在最後一軌,也僅供電腦CD-ROM使用),大部分的做法都是透過讀取CD的序號(bigdogchina提供利用MCICOMMAND的方法讀取到的),然後再利用這組序號到資料庫網站(CDDB)找尋相對應的文字資料,是這樣來的,並不是真正的從把這些文字資料存在音樂光碟中,這樣會造成相容性跟可攜性都不好。 藏私の禁止
andy9204
一般會員


發表:2
回覆:3
積分:1
註冊:2004-05-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-05-26 14:13:11 IP:210.243.xxx.xxx 未訂閱
還是有哪裡可以買到現成的dll檔可以做這樣的技術... 小弟真的很需要它....謝謝
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-05-26 15:15:05 IP:211.96.xxx.xxx 未訂閱
mciCommand提供了簡單的方法直接把音軌利用類比輸出的方法轉成wav,你可以下載dspack,利用mp3 LENC把WAV轉成MP3,你可以到GOOGLE找到相關的答案 藏私の禁止
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-24 18:39:57 IP:218.166.xxx.xxx 未訂閱
我在toget軟體電子報看到一個開放原始碼的軟體BonkEnc http://toget.pchome.com.tw/intro/multimedia_transfer/23942.html 回到Delphi K.Top搜尋後發現有網友在問擷取CD音軌的問題 研究BonkEnc原始碼後發現擷取音軌的功能由Albert L. Faber所提供的 http://www.vbaccelerator.com/home/VB/Code/vbMedia/Audio/CD_Ripping_1/CDRip_DLL_Source.zip 這兩篇文章非常值得一看,可下載VB範例實際操作 http://www.vbaccelerator.com/home/VB/Code/vbMedia/Audio/CD_Ripping_1/article.asp http://www.vbaccelerator.com/home/VB/Code/vbMedia/Audio/CD_Ripping_2/article.asp Delphi K.Top其他的討論 http://delphi.ktop.com.tw/topic.php?topic_id=23537 www.vbaccelerator.com就提供VB的範例了 http://delphi.ktop.com.tw/topic.php?topic_id=35481 http://delphi.ktop.com.tw/topic.php?topic_id=35211 所提供的程式碼只能讀取音軌的個數,長度等資料,不能擷取音樂的資料
系統時間:2024-04-27 0:10:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!