一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av

重慶醫(yī)科大學論壇

標題: 如何用C開發(fā)播放器制作音頻文件 [打印本頁]

作者: 重新來過    時間: 2006-6-19 16:13
標題: 如何用C開發(fā)播放器制作音頻文件
個人聲明 1
    我將對本人做如下修改,但是日期不能確定,所以更新的速度會很慢。
    另外我下個星期后,寢室將斷網(wǎng),我會在家寫好一切,在公司通過郵件發(fā)給大家。
   希望有人能配合我,并把我發(fā)給他的東西上傳這里(個人郵箱guvc@163.com),供大家學習。
   (本文適合哪些讀者,補加)
   (軟件設計式樣書,補加)
        (軟件實現(xiàn)哪些功能,補加)
        (如何實現(xiàn)這些功能,補加)
        (基本框架組建----能夠實現(xiàn)正常播放功能框架搭建,補加)
        (輔助功能添加----同時對前期程序錯誤和不接合處進行修改,補加)
        (如何實現(xiàn)并控制以及回收子線程----同時對前期程序錯誤和不接合處進行修改,補加)
        (內(nèi)存泄露以及程序調(diào)試的工作,補加)
    (軟件包裝補加)
如果能自己作一個音頻文件的播放器,那是什么感覺?,我感覺很爽。
最近看看幫助文檔,自己設計了款音頻播放器。基本上什么格式多能放。現(xiàn)在正在給她升級,讓他真正的能什么格式多能放。
    我現(xiàn)在把這個最初的版本共享給大家。
    軟件設計:首先我們要想到以后對軟件的設計所以有些必要的工作我們必須把它提出來單獨作。
    播放功能。我把它做為一個單獨類
    提示信息。我把它們定義在一個共同頭文件內(nèi)
下面作詳細介紹
    首先軟件平臺選擇vc6.0基于MFC,選擇對話框模式。其他不用便,唯一需要改的一步就是在庫的選擇方面我們用靜態(tài)不用動態(tài),否則軟件脫離自己的機器后很可能不能正常運行。
    現(xiàn)在一個大體的框架設計好了
下面就是添加一個類(一個普通類),把類命名為CPlayDevice.
然后就是給CPlayDevice添加成員變量和函數(shù)如下
private:
DWORD  m_dwPlayID;
.........
成員變量盡量定義為私有。
public:
void OpenFile(CString strText);
void Play();
void Play(int index);
..........
附注:這里怎么不能添加附件啊,代碼很多的哎,我得敲到什么時候啊。。。。
這個類寫完后,會出現(xiàn)很多問題
播放模式:
播放,暫停,停止
是否支持多曲連放,還是單曲播放,在本程序中我們支持多曲連放。
還有就是設備初始化的問題。
我們把這些問題放在共同類
建立個頭文件ComData.h
#pragma once
#include "windows.h"

#define TITLE_MAIN   "音頻播放器"
#define TITLE_ERROR "錯誤"
//這樣做的好處是,當我們在升級的時候沒必要到文件內(nèi)部去逐個修改。
//我們只需在這里修改就可以
.......

#define MSG_NOFILE "設備中沒有音頻文件"
#define MSG_。。。。。
。。。
詳見原代碼
共同和類寫完后
我們開始設計框架
我在設計的時候使用的全是圖形界面。
所以在這里我稍微詳細寫點
至于圖片大家自己作,或則上網(wǎng)找
首先把對話框的格式修改,去掉周邊框架,只留住客戶區(qū)
添加按鈕,修改屬性,選中owner,和位圖 這樣就可以自己繪制按鈕
給按鈕添加 “控件” 變量,(便于后期編程)
然后將 所有 CButton 改為 CBitmapButton
現(xiàn)在我們要考慮程序在啟動后,他如何繪制界面
有以下幾種情況,單擊事件,裝在歌曲文件的時候
我們在單擊每個按鈕的時候最好從繪摁鈕,然后就是重寫窗體的onpaint 事件,具體代碼見源程序
現(xiàn)在開始組合
    在窗體初始化代碼里 我們要初始化音頻設備。我把這個操作放在了播放摁鈕里面。現(xiàn)在想起來這樣不好。建議大家放在窗體初始化中
    如何重硬盤中選者音樂,我們先定一個CFileDialog 類型的變量,通過這個變量來從系統(tǒng)中選者音頻文件
    最后給程序做個時間事件(現(xiàn)在想起來沒有這個必要,因為時間事件的效率太率,而且很好內(nèi)存,個人建議是利用子線程,不過這樣我們得控制好播放速度,否則播出來的效果不是很流暢)。主要是監(jiān)視歌曲播放狀態(tài),是否播放完畢等
上面寫的我個人覺得太籠統(tǒng)。代碼實在是比較多,不愿意敲出來。見諒

改動后補注:我今天只有半個小時時間,我只籠統(tǒng)地看了下,說句實在話,看了這篇文章,大家實在是學不到東西,連基本的概念多沒講清楚,我會慢慢的對其進行修改,希望大家見諒(個人感覺這篇文章,應該有足夠的資格加精吧,嘿嘿)

[ 本帖最后由 重新來過 于 2007-3-31 22:47 編輯 ]
作者: 流浪者    時間: 2006-6-24 22:15
windows 多媒體編程更方便了
作者: 重新來過    時間: 2007-1-10 23:12
標題: 抱歉
靠 這帖子寫的有點垃圾(真不好找)
沒寫明白什么
我不知道某些兄弟是不是看到這篇文章才給我發(fā)郵件索要代碼
可惜 原先的代碼已經(jīng)不存在,寫這篇代碼的時候我還在學校,
我現(xiàn)在電腦里面的源碼是經(jīng)過我自己再次升級的
已經(jīng)將大部分功能封裝在dll文件中,所以給你們發(fā)這些代碼沒什么用途
等我有時間給整理出來 再在這里發(fā)帖
有要得同志 跟帖就行 無需再向我的郵箱中發(fā)郵件
作者: 我是馬甲    時間: 2007-1-11 00:24
以前用vb寫過一個 皮膚是可以更換的  按鈕用的flash按鈕
c語言不懂
作者: 逍遙天龍    時間: 2007-1-11 09:29
頂一下啊,有原代碼的話幫忙發(fā)給我!
謝謝,我的郵箱:wangmengtian1986@163.com
作者: lukelark    時間: 2007-3-19 14:55
我也想學習一下,我的郵箱是lukelark@sina.com
我想要原代碼和相關技術文檔,謝謝!!!
作者: 亡命天使    時間: 2007-4-30 02:18
本人畢業(yè)設計需要用VC開發(fā)一個汽車覆蓋件自動排樣方面的系統(tǒng)
正在努力學VC
真不知最后能做到什么程度
以后可能要找樓主請教
作者: 亡命天使    時間: 2007-4-30 02:19
現(xiàn)在光算法就搞的我頭疼
作者: 重新來過    時間: 2007-5-24 18:01
呵呵 我的建議就不多說了。
至于如何學習c語言,我在論壇發(fā)過帖子。
至于想在畢業(yè)設計期間把c語言學好,我感覺是不太可能。
如果是純粹搞畢業(yè)設計的話,還是可以的。
最后的建議就是別把算法當語言來學習




歡迎光臨 重慶醫(yī)科大學論壇 (http://www.espacio12.com/) Powered by Discuz! X3.4