c視頻播放器源碼
『壹』 求一c語言編寫的 網路音樂播放器 類似於千千靜聽的源碼
下載地址
1.
2.
一、常規問題
問:Unicode和Ansi版本是怎麼回事,用一個更好?
Unicode是統一字元編碼方式,Unicode版本的程序只能運行在NT/2000/XP/2003等新的Windows上,可以解決不同語言的顯示問題,並且由於Unicode在這些系統上有更好的性能,所以當處理大量列表的時候也有很大的幫助。
千千靜聽內部處理字元串時(例如處理標簽或列表時),大量使用系統默認的16位Unicode(即使是Ansi版本也一樣,只是顯示的時候才轉換成Ansi),可以最大限度的提高處理的性能。
問:我是繁體XP(2000)的用戶,可以使用千千靜聽嗎?
可以,千千靜聽已經支持unicode,可以在非簡體中文的Windows 2000/XP下使用,千千靜聽的界面不會出現亂碼,但某些只包含ID3v1標簽的MP3文件可能是顯示亂碼,可以嘗試用「文件信息」里的內碼轉換功能來找到正確的內碼。千千靜聽還提供了繁體和簡體之間的標簽和歌詞轉換。
問:安裝新版本的時候,需要先刪除以前的版本嗎?
不用,直接覆蓋安裝就行了,千千靜聽可以兼容以前的參數設置,但某些功能可能因為升級而發生變化,絕大多數設置將繼續有效。
問:為什麼我的電腦上沒有淡入淡出窗口的效果?
淡入淡出窗口以及半透明窗口效果都需要Windows2000或以上的操作系統才能支持。
問:我的窗口不小心拖動屏幕外面了,怎麼辦?
在Windows的系統欄(屏幕右下角的系統時間那裡)右鍵點擊主菜單,選「查看窗口」下面的「重新排列」,這個對普通模式和迷你模式都有效。
問:我想把千千支持的文件格式默認用千千來打開,怎麼樣最方便?
千千選項的最後一頁「系統關聯」,可以在你想要關聯的某個格式,或某一類格式上打上勾,並且為這種或這一類格式指定一個文件類型圖標,考慮到不同用戶有不同的喜好,千千隻提供圖標自定義的功能,而不提供任何很多默認的圖標。
問:為什麼千千靜聽的皮膚這么少?
作者本人不擅長美工,又找不到專業人士幫助千千(因為千千免費)。其實千千靜聽的皮膚格式是比較簡單的,是基於XML格式的用ZIP壓縮一下而已,有興趣的網友可以自己把皮膚文件改為.zip後綴後解開來看看,具體請看主頁上皮膚 這一頁。
問:為什麼千千靜聽不支持Winamp的皮膚呢?
由於播放器的功能不相同,皮膚的設計和實現也不相同,很多千千靜聽需要的皮膚的元素Winamp的皮膚里都沒有,例如千千靜聽需要歌詞秀窗口,但Winamp本身就沒有這個窗口的皮膚。論壇上有不少網友從winamp改造過來的皮膚,有興趣不妨去看一下。
--------------------------------------------------------------------------------
二、播放
問:為什麼在Win98下不支持播放CD?
Win98沒有自帶數字CD讀取所需的驅動,可以到主頁上去下載這個通用的驅動程序,地址是:
問:為什麼我正在播放CD的時候,就不能轉壓CD為其它格式了?
因為Windows下以數字方式訪問CD是獨占的,所以同時只能由一個任何來訪問CD。如果你想轉壓,請先停止播放。
問:千千有沒有能自動在線查詢到CD信息的功能?
4.3以後的版本,提供了freedb的在線查詢CD信息的功能,但非正版的CD很可能找不到 。
問:為什麼我用Windows Media Player製作的WMA文件無法播放?
Window Media Player在製作WMA文件時默認啟用了"數字版權保護"機制,而要支持這種文件,必須得到微軟的官方支持,考慮到手續比較麻煩所以目前還未實現對它的支持。所以在製作WMA文件的時候請盡量不要使用數字版權保護。
問:回放增益(自動音量)是怎麼回事,應該如何使用?
"回放增益信息"是通過對音頻文件的掃描分析檢測到的一個最佳的增益值, 在以後的播放中如果使用這個增益值就可以把音頻文件的音量調整到最佳的水平,從而減少甚至避免不同音頻文件之間的音量差異.
可以通過手動掃描或自動掃描來得到這個信息,手動掃描就是在播放列表上右鍵某些文件,通過「掃描增益信息」來得到,或者選中千千選項的「播放」頁中的「自動掃描」,這樣在播放的同時,就會自動掃描沒有這個信息的文件(如果已存在就不會再掃描),但要注意的是,如果播放被中斷或用戶拖動了播放進度,掃描就會停止,只有完整的播放一遍之後才能得出這個信息。
問:為什麼我啟用了回放增益以後,有些歌的音量不正常?
增益信息是以文件標簽的形式保存在文件中的,可能是增益信息別的軟體破壞了,所以導致音量不正常,這時,你需要手動重新掃描一下。
問:千千支持哪些音頻輸出方式?
千千支持Waveout(波形輸出),DirectSound,Kernel Streaming(內核音頻流),ASIO這四種方式,但在不同的系統和音效卡環境下,並不是每一種都能支持的,特別是ASIO,更需要音效卡本身的支持,一般只有比較高檔的音效卡才能支持。
問:這些音頻輸出方式各有什麼特點?
Waveout是微軟最早提出的音頻流輸出方式,所以它的兼容性也就好,幾乎所有的音效卡都支持;
DirectSound是微軟DirectX的一個組合部分,它的兼容性也很不錯,並且在有多個程序需要播放音頻的時候能提供高可靠的保障,並且使用這種方式可以讓千千靜聽更好的支持聲音的淡入淡出效果;
Kernel Streaming是微軟底層使用的音頻流方式,具體更低的延時性,用於對延時性要求比較高的場和,因為更底層,所以效率更高,而且受別的程序的影響也更小,如果你用它來播放時,把系統音量里的波型「靜音」,就可以實現只聽到播放器的音樂,而不受其它程序的聲音的影響。但Kernel Streaming同樣對音效卡和驅動有一定的要求。
ASIO是Steinberg提出來的比較新的音頻流輸入輸出介面,一般用在對實時性要求很高的專業場合,對音效卡的要求更高。
理論上來說,這四種方式對輸出的音質沒有任何影響,因為這些方式只是把聲音的數字信號傳輸到音效卡的數模轉換器(D/A),而不會對信息有任何的改變。
問:像AxASIO之類的軟體能讓音效卡不支持ASIO的電腦也使用ASIO,有什麼好處嗎?
AxASIO或ASIO Kernel-Streaming Driver之類的軟體,都是在Kernel Streaming的基礎上模擬出來的ASIO,所以效果反而沒有直接用Kernel Streaming好,而且設備不當的話還影響正常的播放。
問:千千使用的MP3解碼器是哪一個?
千千使用的是最新版本的mpg123-0.59s-pre,它是目前已經的開放源代碼中最好的MP3解碼器之一,無論是精度來是速度都是很出色的。千千早期版本使用的是MAD,但在個人PC上,MAD的解碼速度比mpg123要慢70%甚至更多,而絕對精確和mpg123相比還略有差距,所以後來就改用mpg123了。
問:是不是把播放時的緩沖長度設得越高播放越流暢?
一般來說,只要設置1000-2000毫秒的長度就可以了,太長只會增加資源佔用。
問:播放時的輸出比特是越高越好嗎?
不是,目前幾乎所有的音頻源都來自16比特的CD,而且一般的音效卡只支持16比特的輸出,所以基本上選用16比特就可以滿足絕大多數的要求了,千千的「原始比特」就是指音頻本身的比特數,因為碰到有些24比特的WMA,千千就會自動選擇24比特輸出。
要注意的是,很多支持ASIO的音效卡,最佳的輸出比特數是32或24,所以這時選擇相對應的比特數就能提供最佳的性能(因為不需要再做額外的轉換)。
問:采樣頻率轉換一般用在什麼場合?
對於AC』97規范的音效卡(主板自帶的基本上都是這類音效卡),硬體只支持48000Hz這一種采樣頻率,而CD的音頻是44100Hz的,從CD轉換過來的MP3等大多部格式也是44100Hz的,也就是說在這種類型的音效卡上,在數字信號轉成模擬信號之前,還要對采樣頻率做一次轉換,如果驅動程序提供的轉換程序不是很好(據說為了提高性能,都採用比較一般的演算法),就可以嘗試用播放器提供的軟體轉換功能。但用於這類音效卡來說,本身的輸出音質就不是很理想,所以用不用更好的轉換演算法意義並不大,而且由於軟體轉換需要CPU做更多的事情,性能肯定受到影響。
問:高頻抖動又是什麼意思?
一般的音頻編解碼器,都是用高比特來處理16比特的音源的,在最終播放輸出的時候,又得把高比特降低到16比特來輸出(因為一般的音效卡只支持16比特的輸出),所以就會有量化的副作用,就好比把一幅真彩的圖片轉成256色,如果轉換的程序不好,就會有大塊的很難看的色塊出現,於是就產生了一種抖動的技術,就是採用插值演算法,在轉換前用一些隨機的雜訊來處理一下,以減少量化帶來的副作用。
一般來說,如果音源和輸出時的比特數相同,就不需要再用抖動了。並且抖動只對低於16比特的輸出比較好的效果。
--------------------------------------------------------------------------------
三、文件標簽
問:什麼是文件標簽,有什麼用途?
文件標簽就是指一個歌曲文件的標題(歌名)、藝術家(演唱者)等的信息,就好像是一個人的姓名一樣。有了文件標簽,就能准確的知道這首歌的來源,就能通過這些信息准確的本機或網上查找到相應的歌詞文件。
問:如何填寫或編輯文件標簽?
通過千千的「文件信息」對話框,就能編輯標簽信息。有兩種方法可以顯示這個對話框:1。在播放某首歌的時候,在主窗口上右鍵的主菜單里選擇「查看窗口」里的「文件信息」,這時顯示的就是當前正在播放的這首歌的文件信息;2。在播放列表裡選中某首或某些歌曲,在右鍵菜單中選擇「文件信息」,就能顯示選中文件的信息了,如果你選的是多首歌,就能同時編輯多首歌的信息。
問:千千支持哪些類型的標簽?
千千幾乎支持所有已知的通用標簽類型,比如對於MP3文件,就支持ID3v1/ID3v2、APE;對於Ogg文件,就支持Ogg本身的Vorbis標簽;而對於APE、MPC之類的新型文件格式,同樣支持APE標簽,對於iTunes的MP4/M4A格式,千千也同樣支持它的標簽類型;要注意的是,WMA的標簽的寫入需要安裝微軟的media9或更新的版本,但讀取就不需要任何額外的支持了;而對於RM文件,千千目前只支持最基本的幾個標簽欄位。
問:千千嵌入的歌詞是怎麼回事,和標簽有關嗎?
千千嵌入的歌詞就是以標簽的形式保存在歌曲文件里的,欄位名是"Lyrics",對標簽的操作對嵌入的歌詞同樣有效。
問:如何在播放列表的歌曲標題里顯示我想要顯示的標簽欄位?
可以在千千選項里的「播放列表」頁里設置「有標簽時的格式」,只要用「%(英文欄位名)」這樣的字元串就能表示任何你想要顯示的欄位了,當然前提是你得知道這些欄位的英文名稱,你可以通過上面講到的「文件信息」對話框的「高級模式」來看到所有這個文件里已存在的標簽欄位的名字和值。
問:某些文件顯示的是亂碼的標簽,有沒有辦法改正?
可以嘗試使用「文件信息」里的內碼轉換功能來找到正確的內碼。
問:為什麼千千靜聽在列表裡查找文件比較慢?
為了節省資源佔用並且提高文件添加到列表的速度,千千靜聽默認是當播放列表在顯示某個音頻文件時才會讀取信息,而像foobar2000這樣的播放器則是在第一次添加時就讀取了所有文件的信息,所以查找時就不需要再讀取了。 事實上千千靜聽也提供了和foobar2000一樣的文件信息操作方式,請在選項里的「播放列表」頁中將讀取信息改為「添加」時,並且選上「緩存文件信息到播放列表」。
--------------------------------------------------------------------------------
四、歌詞
問:怎麼使用歌詞秀,為什麼我自己從網上下載的歌詞就不能顯示?
歌詞文件有一定的格式,一般以LRC和TXT後綴,每句歌詞前面有[00:00.00]這樣的時間標簽,如果沒有這些標簽的歌詞是無法顯示的,可以用千千靜聽自帶的歌詞編輯器來為每句歌詞加入時間標簽,保存後就可以正常顯示了。建議把歌詞文件以「歌手名 - 歌曲名.lrc」這樣的方式命名,再把存放這些歌詞的目錄加到千千的本地搜索文件夾里,以後就不用再一一關聯了,當然你的歌曲文件應該也有相應的歌手名和歌曲名信息,這樣才能保證播放器找到正確的歌詞文件。
問:為什麼歌詞下載會失敗?
有以下幾種可能的原因:
1.文件信息不正確,以至於在搜索時無法正確匹配;
2.歌曲太新,以至於這些歌詞網站都還沒有收集歌詞;
3.如果你安裝了防火牆,可能網路請求被過濾而無法連接到歌詞伺服器;
4.歌詞伺服器可能出現問題,或者正在維護。
問:為什麼沒有讓用戶自己輸入或選擇歌詞網站的功能?
歌詞下載網站的搜索和下載方式都不相同,如果要實現用播放器來自動處理需要編寫相應的搜索和下載程序,並不是簡單的輸入一個網址就行了。(注:用網路搜索到的歌詞都是純文本的歌詞,無法直接用於歌詞秀)
問:為什麼我下載了正確的歌詞,但下次播放還是顯示錯誤的?
千千載入歌詞的順序是內嵌歌詞->關聯歌詞->本地搜索->在線搜索,很可以內嵌或關聯了錯誤的歌詞,或在本機上有錯誤的歌詞文件,這時你可以按上面的順序來檢查優先順序高的歌詞,如果發現有錯誤,就刪除或修改就行了。具體操作請看歌詞秀的右鍵菜單或選項里的和歌詞相關的參數。
問:我想讓下載後的歌詞自動以歌曲相同的文件名保存,並且直接保存到歌曲所在的目錄,這樣我找起來很方便,怎樣才能做到?
在千千選項的「歌詞搜索」頁里,有相關的參數可以設置。
問:我的標簽信息和文件名都是繁體的,能找到簡體的歌詞嗎?
如果使用的是Unicode版本,並且是2000以上的系統,就可以實現,但在線搜索只有炫網的搜索插件才支持,另外兩個網站的搜索引擎不支持簡繁體的自動識別。
--------------------------------------------------------------------------------
五、其它
問:我想在播放列表裡直接刪除硬碟上的文件,「物理刪除」為什麼是灰色的?
千千提供了物理刪除的功能,但考慮到用戶可能會誤操作,所以默認是禁用的,你可以在千千選項的「播放列表」頁中找到啟用這項功能的選項。
問:我想從播放列表裡直接到文件拖動到其它地方,比如我的U盤或MP3機,可以嗎?
可以,在播放列表是選中要操作的文件,注意用左鍵按住標題(否則就變成選選擇文件了,這和windows的資源管理器操作一樣),拖動文件到你想要到地方,如果想復制,就按再Ctrl鍵,操作和資源管理器完全一致。用這種方法,你甚至可以直接把文件拖到回收站上而刪除你不想要的文件。
問:我想把CD壓縮成MP3、WMA或APE,用千千靜聽可以做到嗎?
可以。通過添加文件或添加目錄來把CD上的所有音軌文件拖到播放列表裡面,因為數字方式抓取音軌是獨占訪問的,所以如果正在播放CD上的文件或是音軌,請先停止播放,然後在播放列表裡選中要轉壓的文件(多選就可以進行批量轉換),點右鍵菜單的「轉換格式」命令就可以轉換了,如果在壓縮格式列表裡沒有找到MP3或WMA,請重新安裝千千靜聽。用同樣的方式可以轉換任何千千靜聽可以播放的文件(例如APE等格式轉換到MP3、WMA)。
問:為什麼其它的播放器對RM的支持比千千靜聽好?
其它播放器用的是Real Player的播放器核心,其實就相當於在使用Real Player在播放,這和直接用Real Player來播放沒多大區別,而且這個核心佔用內存實在是比較厲害,所以作者不想採用這種方式。其實Real公司對RMF文件的格式只公開了部分內容,有些細節還沒有完全公開,特別是和編碼格式有關的部分,在現有的條件下,千千靜聽只能做到這樣了,希望將來能得到更多的技術支持。
問:如果我的電腦上沒有安裝Windows Media Player 9或更新的版本,還能播放WMA嗎?
當然可以,只要在安裝時選中支持WMA就行了,千千靜聽支持WMA只用到了微軟的WMA解碼器組件,就是安裝目錄下的wmadmod.dll文件,只有400K左右J,而且還支持WMA文件信息的讀取。
問:我要把一台電腦上的千千靜聽拷到另一台電腦上使用,所有的設置都還有用嗎?
千千靜聽的設置都保存在安裝後的目錄下的TTPlayer.xml文件下,只要把這個文件和程序一起復制別的電腦上就可以了,根本就不需要重新安裝,當然有些目錄可能會因為不同的電腦而不一樣,需要注意一下(比如歌詞下載的保存目錄會因為電腦的不同而無效)。
問:我對INI文件比較熟悉,為什麼不用INI文件來保存這些設置?
INI是比較「過時」的配置文件,讀取和分析都比較慢,擴展性也比較差,而XML是最好的用於保存各種信息的格式,而且現在對它的支持也越來越廣泛,所以用XML是更好的選擇。
問:為什麼我在千千靜聽里使用DFX看不到DFX的窗口?
如果你的電腦上安裝了Winamp,並且DFX也是安裝在Winamp上,那隻要把Winamp的Plugins目錄設置為千千的Winamp音效目錄應該就不會有任何問題了(默認情況下千千會檢測到Winamp的插件目錄並且自動設置),如果你沒有安裝Winamp,而把DFX安裝到千千的目錄上,你就應該手動把DFX安裝後的目錄下的Plugins目錄設置為千千的Winamp音效插件目錄。
問:為什麼不支持視頻?
作者設計千千靜聽的原則就是用來播放音頻,至於要看到視頻圖像,有更多更好的選擇,相信大家心中已經都有自己最喜愛的視頻播放器了。
問:千千靜聽支持哪些網路協議的點播?
目前千千靜聽支持HTTP和MMS方式的在線點播,其中MMS協議需要Media Player 7或更高的版本支持。暫時不支持網上比較流行的RTSP協議。
問:千千靜聽是用什麼語言寫的,為什麼支持這么多的格式還這么小巧?
千千靜聽是用VC6編寫的,如果你還知道WTL,那麼作者可以告訴你,界面是用WTL來編寫的,相對於MFC的庸腫,WTL更適合編寫快速、精簡並且佔用資源少的程序。當然很多音頻編碼庫是用C語言來寫的,這樣更加高效而且小巧。
問:隨著用的人越來越多,作者是否會考慮收費或者注冊?
作者不會因為任何理由違背承諾來向用戶收費!
問:為什麼不在網站上做些宣傳,好讓更多的人知道?
我一直改進千千的理由不是為了錢,所以用的人多了對我本人來說也不見得就是好事,一個人做軟體畢竟很辛苦,用的人太多引來的問題和麻煩也就更多。
問:我經常在某些論壇上看到推薦千千靜聽的貼子,有人說這是作者請的「槍手」在推薦?
這是最可笑的問題,但確實有不少網友來問!
我的回答是「絕對不是」,一方面上面也說過了,我本人對宣傳不感興趣,另一方面,我也請不起所謂的「槍手」。問問你自己或你身邊的朋友,你們是如何知道千千靜聽的,是在媒體上看到的廣告?是在論壇上看到大肆的推薦?還是朋友直接推薦給你的?
作者並不反對網友到不同的論壇上推薦千千靜聽,如果你認為千千是一個你喜歡的並且值得推薦的軟體,那麼有什麼理由不讓你去推薦給更多的人用呢?!
問:為什麼取名叫「千千」,好像不太響亮哦?
作者很喜歡陳慧嫻的歌,相信大家都知道為什麼會用「千千」這個詞了吧。其實當時之所以會自己寫一個播放器也是因為覺得Winamp很多地方不太好用,總覺得要是有一個自己的播放器來聽自己喜歡的歌那該多好啊,所以就有了今天的千千靜聽,希望大家會喜歡。
『貳』 C語言編寫一個簡單的視頻播放器可以播放mp4的就好
我所說的解剖,其實是看它的源代碼,源代碼在網上有,可以下載。 看MPlayer的源碼,理解它的工作原理,之後,把實現播放視頻這個功能的代碼分離出來,自己修改並完善代碼,之後,編譯代碼,測試程序。 要能寫播放器,一般水平的人是無法寫出來的,至少要熟練的掌握C語言,能看懂別人寫的代碼,能理解代碼中所表達的意思,對操作系統有一定的認識。
『叄』 c#不是說是世界最流行的計算機語言,那flv和mp4和rmvb視頻播放器網上怎麼沒有源碼呢難道沒人
一樓正解。像這些播放器,編解碼的內核一般用C/C++寫,因為視頻解碼速度快,前端界面則可以用C#來做,因為方便,可視化程度高。當然啦,如果你願意,也是可以用C#寫出來的,只不過效率不高(因為C#是託管代碼,編譯器要做很多邊界檢查之類的工作)所以意義不大,沒人去做罷了。
『肆』 怎麼用c語言編程,播放一段視頻啊能給我發發你的代碼嗎
#include <stdlib.h>
int main()
{
char filename[20];
printf("請輸入要播放的視頻的路徑:");
scanf("%s",filename);
system(filename);
}
如何輸入你想打開的視頻的路徑及名稱就可以了,比如 C盤abc文件夾中的視頻"黃飛鴻.avi",你可以輸入 c:\abc\黃飛鴻.avi 後回車即可
『伍』 用C語言編寫音樂播放器的源代碼
如果你這個播放器是在電腦上使用,那用C語言顯然有點太小題大做了,用其他高級語言實現起來要簡單的多。如果是設計一個類似MP3的播放設備,那麼C語言幾乎是唯一的選擇,而且代碼復雜程度遠遠高於你的想像,不過幸運的是會有一些開源的代碼可以移植,所以讓這件事情也變得容易實現多了,如果再加上一個專用的解碼晶元,那軟體會簡單點,解碼效率也高多了。
『陸』 用C#寫的winform程序(一個視頻播放器),怎麼實現進度條的功能啊最好有源碼
建議你多去博客園逛逛,那裡面很多源代碼,都是一些簡單的小實例,自己拿過來參考下還是很有價值的。
『柒』 C++的activex(ocx)開發視頻播放插件實例源碼
在注冊表中找.但很麻煩.一般網上就有, 找到這樣的classid後記住就可以了,一般最重要的是兩個,一個是windows media player,還有一個是 說的realplayer.這兩個是最最主要的插件.記住這兩個就可以了.在注冊表中查找
【clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa】這個是realplayer的
注冊表的路徑是:hkey_classes_root\clsid\{cfcda953-8be4-11cf-b84b-0020afbbccfa}
【classid="clsid:05589fa1-c356-11ce-bf01-00aa0055595a"】這個是media player的
注冊表的路徑是hkey_classes_root\clsid\{05589fa1-c356-11ce-bf01-00aa0055595a}
當 在注冊表中找到路徑後,在後面就會顯示是什麼的classid了.
『捌』 高分求視頻播放器源代碼,C++的啊~!~~
恩,這個我剛試驗過,我用Direct編的,源代碼就在http://hi..com/blogofivan/blog/item/739be1ec20b841f0b2fb958b.html
寫的不好,不知道對你有沒有幫助.
『玖』 求一個使用C語言播放avi視頻的源代碼和一個讀取avi視頻信息的源代碼,system函數的不要。詳
呵呵噠,華師樹莓14級的小夥伴,你好😉
『拾』 求一個易語言網路視頻播放器源碼。
那你提供的那個網址必須是視頻首地址。記住,是那種在瀏覽器中一打開就是直接播放視頻的地址。否則,任何一種編程語言都是無法做到你說的這種直接放入網址即可播放。除非是在編寫的時候寫入了你網址的視頻規則等,才能實現。
如果你的視頻地址是那種一打開就播放的地址的話,就很簡單了,用易語言的視頻支持庫即可。