• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        運用Mpegplayer控件編寫容易的mp3播放程序

        運用Mpegplayer控件編寫容易的mp3播放程序

        更新時間:2022-04-27 文章作者:未知 信息來源:網絡 閱讀次數:

        1.前言

        ---- mp3因其較高的壓縮率,較好的音質,成為越來越多的使用者的喜愛,用自己編制的mp3播放器聽mp3音樂一定很有樂趣.我以下介紹一個用delphi編制的簡單mp3播放器,因為mp3音樂的解碼比較復雜,普通的程序員很難編制其解碼程序,但不要緊,我們可以用別人寫好的解碼程序來完成我們的程序.

        ---- 2.設計構思

        ---- 我們使用mpegdll.dll來解碼(很多國產的mp3播放器都用它),mpegdll.dll的作者提供了它的delphi的控件,在各大delphi網站都有下載,或在作者的主頁http://www.ig.com.ua/wabbit/programs/workshop.html下載之后,我們安裝控件(必須delphi3.0以上),在component中選擇install component,安裝控件包中的mpegplayer.dcu,安裝完成后在控件欄里多出一個add-ons來,控件就在里面.

        ---- 介紹一下用到的參數

        mpeg.streamname 所要播放的文件名
        mpeg.length 文件程度
        mpeg.bitrate 壓縮位率
        mpeg.frequency 壓縮頻率
        mpeg.layer 壓縮層次
        mpeg.mode 壓縮模式
        mpeg.pathtodll dll文件的路徑

        ---- 新建一個from,放入6個label,5個button,1個checkbox,1個mpeg,1個time,1個trackbar,1個opendialog控件調整為適當的布局,點擊opendialog1使*.mp3成為打開文件的后綴名.調整5個button,把其屬性name改為 openbutton,pausebutton,stopbutton,playbutton和exitbutton,并把caption改為播放,暫停,停止,打開,和退出. 使3個label的caption成為,壓縮位率,壓縮頻率,壓縮層次,調整其他3個label使label4對應label1,label5對應label2,label6對應label3 caption為空,autosize為true,trackbar的tickstyle設為tsNone,chickbox的caption設為循環播放,timer的ontimer設為timer1timer
        ---- 3.程序清單如下

        unit Unit1;

        interface

        uses
        Windows, Messages, SysUtils, Classes,
        Graphics, Controls, Forms, Dialogs,
        ExtCtrls, MPEGPlayer,Gauges,
        ComCtrls,Mask, StdCtrls;

        type
        TForm1 = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        openButton: TButton;
        playButton: TButton;
        pauseButton: TButton;
        stopButton: TButton;
        exitButton: TButton;
        CheckBox1: TCheckBox;
        TrackBar1: TTrackBar;
        MPEG: TMPEGPlayer;
        Timer1: TTimer;
        OpenDialog1: TOpenDialog;
        Label6: TLabel;
        procedure exitButtonClick(Sender: TObject);
        procedure openButtonClick(Sender: TObject);
        procedure playButtonClick(Sender: TObject);
        procedure pauseButtonClick(Sender: TObject);
        procedure stopButtonClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure TrackBar1Change(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
        procedure FormClose(Sender:
        TObject; var Action: TCloseAction);
        private
        { Private declarations }
        dontseek:boolean;
        public
        { Public declarations }
        end;

        var
        Form1: TForm1;

        implementation

        {$R *.DFM}


        procedure TForm1.exitButtonClick(Sender: TObject);
        begin
        close;
        end;

        procedure TForm1.openButtonClick(Sender: TObject);
        var s:string;
        begin
        if not opendialog1.execute then exit;
        mpeg.autoplay:=false;
        mpeg.streamname:=opendialog1.filename;
        mpeg.open;
        trackbar1.Max:=mpeg.length;
        trackbar1.position:=0;
        str(trackbar1.max,s);
        playbutton.Enabled:=true;
        stopbutton.enabled:=true;
        pausebutton.Enabled:=true;
        end;

        procedure TForm1.playButtonClick(Sender: TObject);
        var a,b,c:string;
        begin
        playbutton.Enabled:=false;
        openbutton.Enabled:=false;
        mpeg.Play;
        str(mpeg.Bitrate,a);
        label4.Caption:=a;
        str(mpeg.Frequency,b);
        label5.caption:=b;
        str(mpeg.layer,c);
        label6.caption:=c;
        end;
        procedure TForm1.pauseButtonClick(Sender: TObject);
        begin
        mpeg.paused:=not (mpeg.Paused);
        end;

        procedure TForm1.stopButtonClick(Sender: TObject);
        begin
        if mpeg.mode>2 then
        begin
        mpeg.stop;
        mpeg.close;
        end;
        trackbar1.Position:=0;
        openbutton.Enabled:=true;
        playbutton.enabled:=false;
        stopbutton.enabled:=false;
        pausebutton.enabled:=false;
        label4.Caption:='';
        label5.Caption:='';
        label6.Caption:='';
        end;

        procedure TForm1.FormCreate(Sender: TObject);
        begin
        mpeg.pathtodll:='';
        //存放dll聞家的路徑本例程序和dll在同一路徑下
        //dll一定要放在程序同一目錄,否則不能編譯
        mpeg.init;
        playbutton.Enabled :=false;
        pausebutton.enabled:=false;
        stopbutton.enabled:=false;
        end;
        procedure TForm1.FormClose(Sender:
        TObject; var Action: TCloseAction);
        begin
        mpeg.deinit;
        end;
        procedure TForm1.TrackBar1Change(Sender: TObject);
        begin
        if not(dontseek) then
        if (mpeg.mode=3)or((mpeg.mode=4))
        then mpeg.CurrentPosition:=trackbar1.Position;
        end;
        procedure TForm1.Timer1Timer(Sender: TObject);
        var a,b,c:string;
        begin
        if (mpeg.mode=3) then
        begin
        dontseek:=true;
        trackbar1.Position:=mpeg.CurrentPosition;
        dontseek:=false;

        end;
        if mpeg.PlayStopped then
        begin
        if checkbox1.Checked then
        begin
        mpeg.Play;
        playbutton.Enabled:=false;
        openbutton.Enabled:=false;
        str(mpeg.Bitrate,a);
        label4.Caption:=a;
        str(mpeg.Frequency,b);
        label5.caption:=b;
        str(mpeg.layer,c);
        label6.caption:=c;
        end
        else
        begin
        mpeg.close;
        trackbar1.Position:=0;
        openbutton.Enabled:=true;
        playbutton.Enabled :=false;
        pausebutton.enabled:=false;
        stopbutton.enabled:=false;
        label4.Caption:='';
        label5.Caption:='';
        label6.Caption:='';
        end;
        end;
        end;
        end.
        ---- 以上是一個簡單的mp3播放器的例程,mpegplayer是一個強大的控件可以實現很多功能,如多曲播放,請大家自己研究把,愿大家都能做出很好的mp3播放器

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 337p日本欧洲亚洲大胆精品555588| 在线观看免费精品国产| 国产亚洲成归v人片在线观看| 亚洲欧美日韩一区二区三区| 国内精品乱码卡1卡2卡3免费| 亚洲特级aaaaaa毛片| 69xx免费观看视频| 亚洲麻豆精品果冻传媒| 国产一卡二卡四卡免费| 狠狠色伊人亚洲综合网站色| 久久WWW免费人成人片| 亚洲欧美日本韩国| 日韩精品视频免费在线观看| 国产又大又长又粗又硬的免费视频 | av永久免费网站在线观看| 亚洲成AV人片在线观看无码 | 国产黄色一级毛片亚洲黄片大全| 九一在线完整视频免费观看| 中文字幕亚洲电影| 无码精品一区二区三区免费视频 | 亚洲精品中文字幕无码A片老| 日本特黄特色aa大片免费| 麻豆安全免费网址入口| 久久亚洲成a人片| 2019中文字幕在线电影免费| 亚洲1234区乱码| 免费国产成人午夜电影| 最近国语视频在线观看免费播放| 亚洲一区二区在线视频| 最近中文字幕mv免费高清视频7| 色偷偷亚洲第一综合网| 亚洲VA成无码人在线观看天堂| 999久久久免费精品播放| 亚洲精品国产综合久久久久紧| 国产乱辈通伦影片在线播放亚洲| 日日麻批免费40分钟无码| 亚洲变态另类一区二区三区| 精品亚洲综合久久中文字幕| 久久经典免费视频| 72pao国产成视频永久免费| 亚洲国产成人91精品|